Есть ли разница с DeviceIoControl для привода pci express? - PullRequest
0 голосов
/ 08 октября 2018

Я разрабатываю для Windows.Моя цель - разработать тест скорости записи на диск и выполнить запись на диск в последовательном режиме.

Полный код программы можно найти здесь https://pastebin.com/ABCW5Zva К сожалению, в этом блоке появляется ошибка:

bReturn = DeviceIoControl(hFile, 

    IOCTL_STORAGE_QUERY_PROPERTY,
    &Query,
    sizeof(STORAGE_PROPERTY_QUERY),
    pAlignmentDescriptor,
    sizeof(STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR),
    &Bytes,
    NULL);

if (bReturn == FALSE) {
    wprintf(L"  bReturn==FALSE. GetLastError() returns %lu.\n", Error = GetLastError());
}

код ошибки 50, что означает, что операция не поддерживается.

Программа работает, если я выполню тест на C, который является стандартным диском SATA, но, к сожалению, не работает с EЭто Samsung MZVPV512 с интерфейсом PCIe Gen. 3x4.

Что я должен прочитать, чтобы понять проблему и с чего начать копать?Должен ли я просто как-то изменить IOCTL_STORAGE_QUERY_PROPERTY на что-нибудь?

...