I use following code to issue command in windows 10
ZeroMemory(buffer, bufferLength);
query = (PSTORAGE_PROPERTY_QUERY)buffer;
protocolDataDescr = (PSTORAGE_PROTOCOL_DATA_DESCRIPTOR)buffer;
protocolData = (PSTORAGE_PROTOCOL_SPECIFIC_DATA)query->AdditionalParameters;
query->PropertyId = StorageAdapterProtocolSpecificProperty;
query->QueryType = PropertyStandardQuery;
protocolData->ProtocolType = ProtocolTypeNvme;
protocolData->DataType = NVMeDataTypeLogPage;
protocolData->ProtocolDataRequestValue = lid;
protocolData->ProtocolDataRequestSubValue = 0;
result = DeviceIoControl(FileHandle,
IOCTL_STORAGE_QUERY_PROPERTY,
buffer,
bufferLength,
buffer,
bufferLength,
&returnedLength,
NULL);
case 1 :Get log page use lid(1~3) that device can received - OK case 2 :Get log page lid=5 (Command Supported and Effects) that device can't received anything. - failed case 3 :use linux api can received by device.(Get log page 1~5) Case 1 and Case 2, GetLastError() = 0 (SUCCESS)
what is the problem with case 2?
How can i issue Get log page(lid = 5 (Command Supported and Effects)) correctly in windows 10?