// 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 reference
No description available.
Specifies the physical data of a storage device.
DeviceId
The hardware ID of the storage device.
Role
The role of the storage device. This value can be a bitmask of the following values to specify multiple roles:
HealthStatus
A STORAGE_COMPONENT_HEALTH_STATUS value that indicates the health status of a storage device.
CommandProtocol
A STORAGE_PROTOCOL_TYPE value that specifies the storage command protocols that are used between software and hardware.
SpecVersion
A STORAGE_SPEC_VERSION structure that specifies the storage specification version of the storage device.
FormFactor
A 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.
Capacity
The 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.
DeviceId
Specifies the device ID.
Role
Value(s) of bitmask from STORAGE_COMPONENT_ROLE_xxx
HealthStatus
A STORAGE_COMPONENT_HEALTH_STATUS enumeration.
CommandProtocol
A STORAGE_PROTOCOL_TYPE enumeration.
SpecVersion
A STORAGE_SPEC_VERSION structure that specifies the supported storage spec version. For example: SBC 3, SATA 3.2, NVMe 1.2
FormFactor
A STORAGE_DEVICE_FORM_FACTOR enumeration.
Vendor
Specifies the device vendor.
Model
Specifies the device model.
FirmwareRevision
Specifies the firmware revision of the device.
Capacity
In units of kilobytes (1024 bytes).
PhysicalLocation
Reserved for future use.
Reserved