K
KidShazam
Guest
Copying the code located at Working with NVMe drives - Windows applications with regards to the NVMe Identify Query, and running it seems to not return any identify information.
When I step through the code, I see that the first instance of DeviceIoControl
result = DeviceIoControl(DeviceList[Index].Handle,
IOCTL_STORAGE_QUERY_PROPERTY,
buffer,
bufferLength,
buffer,
bufferLength,
&returnedLength,
NULL
);
fails with a GetLastError value of 1 (ERROR_INVALID_FUNCTION).
If I change the value of
query->PropertyId = StorageAdapterProtocolSpecificProperty;
to
query->PropertyId = StorageDeviceProtocolSpecificProperty;
this first DeviceIoControl function passes, but I still end up with invalid ProtocolDataLengths later on.
When I scan the list of attached drives, I can see that my NVMe drive is attached as \\.\PHYSICALDRIVE1.
Could it possibly be a driver issue? I'm currently using the Microsoft Inbox driver, which the NVM Express organization says is only compliant to 1.0e? And I believe my drive is compliant with the 1.2 specifcation.
Thanks for any insight anyone may be able to offer.
Continue reading...
When I step through the code, I see that the first instance of DeviceIoControl
result = DeviceIoControl(DeviceList[Index].Handle,
IOCTL_STORAGE_QUERY_PROPERTY,
buffer,
bufferLength,
buffer,
bufferLength,
&returnedLength,
NULL
);
fails with a GetLastError value of 1 (ERROR_INVALID_FUNCTION).
If I change the value of
query->PropertyId = StorageAdapterProtocolSpecificProperty;
to
query->PropertyId = StorageDeviceProtocolSpecificProperty;
this first DeviceIoControl function passes, but I still end up with invalid ProtocolDataLengths later on.
When I scan the list of attached drives, I can see that my NVMe drive is attached as \\.\PHYSICALDRIVE1.
Could it possibly be a driver issue? I'm currently using the Microsoft Inbox driver, which the NVM Express organization says is only compliant to 1.0e? And I believe my drive is compliant with the 1.2 specifcation.
Thanks for any insight anyone may be able to offer.
Continue reading...