STORAGE_PHYSICAL_DEVICE_DATA structure (ntddstor.h)

Specifies the physical data of a storage device.

Syntax

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;

Members

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:

  • STORAGE_COMPONENT_ROLE_CACHE (0x00000001)
  • STORAGE_COMPONENT_ROLE_TIERING (0x00000002)
  • STORAGE_COMPONENT_ROLE_DATA (0x00000004)

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.

Requirements

Requirement Value
Header ntddstor.h (include Ntddstor.h)

See also

STORAGE_PHYSICAL_NODE_DATA