Can't issue Get log page, identifier Log Identifier(LID) = 5 in windows

46 Views Asked by At

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?

0

There are 0 best solutions below