Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

STORAGE_PHYSICAL_DEVICE_DATA structure (winioctl.h)

Describes a physical storage device.

Syntax

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;

Members

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[8]

Specifies the device vendor.

Model[40]

Specifies the device model.

FirmwareRevision[16]

Specifies the firmware revision of the device.

Capacity

In units of kilobytes (1024 bytes).

PhysicalLocation[32]

Reserved for future use.

Reserved[2]

Requirements

Requirement Value
Minimum supported client Windows 10 [desktop apps only]
Minimum supported server Windows Server 2016 [desktop apps only]
Header winioctl.h (include Windows.h)

Feedback

Was this page helpful?

Additional resources