Я разрабатываю для 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 на что-нибудь?