Why is DeviceIoControl returning an error (1117) when i try to query StorageDevicePhysicalTopologyProperty?

Mark Welo 0 Reputation points
2023-05-27T15:00:46.3633333+00:00

I am using DeviceIoControl with IOCTL_STORAGE_QUERY_PROPERTY to retrieve StorageAdapterPhysicalTopologyProperty. When i try this i get an 1117 error, "The request could not be performed because of an I/O device error". I have determined that the request succeeds if i use a return buffer defined to be the sizof(STORAGE_DESCRIPTOR_HEADER), but it fails when i use the proper (to me) buffer size of sizeof(STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR). When i use the STORAGE_DESCRIPTOR_HEADER, the returned Size and Version is 56 which is the size of the STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR, but it's not the data I'm looking for. I have successfully done other Storage Property Queries, but no documentation seems to exist for this property.

Windows Hardware Performance
Windows Hardware Performance
Windows: A family of Microsoft operating systems that run across personal computers, tablets, laptops, phones, internet of things devices, self-contained mixed reality headsets, large collaboration screens, and other devices.Hardware Performance: Delivering / providing hardware or hardware systems or adjusting / adapting hardware or hardware systems.
1,690 questions
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.