// ntddstor.h
typedef struct _STORAGE_PHYSICAL_DEVICE_DATA {
ULONG DeviceId;
ULONG Role;
STORAGE_COMPONENT_HEALTH_STATUS HealthStatus;
STORAGE_PROTOCOL_TYPE CommandProtocol;
STORAGE_SPEC_VERSION SpecVersion;
STORAGE_DEVICE_FORM_FACTOR FormFactor;
UCHAR Vendor[8];
UCHAR Model[40];
UCHAR FirmwareRevision[16];
ULONGLONG Capacity;
UCHAR PhysicalLocation[32];
ULONG Reserved[2];
} STORAGE_PHYSICAL_DEVICE_DATA, *PSTORAGE_PHYSICAL_DEVICE_DATA;
View the official Windows Driver Kit DDI reference// winioctl.h
typedef struct _STORAGE_PHYSICAL_DEVICE_DATA {
DWORD DeviceId;
DWORD Role;
STORAGE_COMPONENT_HEALTH_STATUS HealthStatus;
STORAGE_PROTOCOL_TYPE CommandProtocol;
STORAGE_SPEC_VERSION SpecVersion;
STORAGE_DEVICE_FORM_FACTOR FormFactor;
BYTE Vendor[8];
BYTE Model[40];
BYTE FirmwareRevision[16];
DWORDLONG Capacity;
BYTE PhysicalLocation[32];
DWORD Reserved[2];
} STORAGE_PHYSICAL_DEVICE_DATA, *PSTORAGE_PHYSICAL_DEVICE_DATA;
View the official Win32 API referenceNo description available.
Specifies the physical data of a storage device.
DeviceIdThe hardware ID of the storage device.
RoleThe role of the storage device. This value can be a bitmask of the following values to specify multiple roles:
HealthStatusA STORAGE_COMPONENT_HEALTH_STATUS value that indicates the health status of a storage device.
CommandProtocolA STORAGE_PROTOCOL_TYPE value that specifies the storage command protocols that are used between software and hardware.
SpecVersionA STORAGE_SPEC_VERSION structure that specifies the storage specification version of the storage device.
FormFactorA STORAGE_DEVICE_FORM_FACTOR value that indicates the form factor of a storage device.
Vendor[8]The vendor name of the storage device.
Model[40]The model name of the storage device.
FirmwareRevision[16]The revision number of the storage device.
CapacityThe capacity of the storage device in units of kilobytes (1024 bytes).
PhysicalLocation[32]This member is reserved for future use.
Reserved[2]Reserved; do not use.
Describes a physical storage device.
DeviceIdSpecifies the device ID.
RoleValue(s) of bitmask from STORAGE_COMPONENT_ROLE_xxx
HealthStatusA STORAGE_COMPONENT_HEALTH_STATUS enumeration.
CommandProtocolA STORAGE_PROTOCOL_TYPE enumeration.
SpecVersionA STORAGE_SPEC_VERSION structure that specifies the supported storage spec version. For example: SBC 3, SATA 3.2, NVMe 1.2
FormFactorA STORAGE_DEVICE_FORM_FACTOR enumeration.
VendorSpecifies the device vendor.
ModelSpecifies the device model.
FirmwareRevisionSpecifies the firmware revision of the device.
CapacityIn units of kilobytes (1024 bytes).
PhysicalLocationReserved for future use.
Reserved