STORAGE_PROPERTY_ID enumeration (ntddstor.h)

STORAGE_PROPERTY_ID enumerates the possible values for the PropertyId member of the STORAGE_PROPERTY_QUERY structure.

Syntax

typedef enum _STORAGE_PROPERTY_ID {
  StorageDeviceProperty,
  StorageAdapterProperty,
  StorageDeviceIdProperty,
  StorageDeviceUniqueIdProperty,
  StorageDeviceWriteCacheProperty,
  StorageMiniportProperty,
  StorageAccessAlignmentProperty,
  StorageDeviceSeekPenaltyProperty,
  StorageDeviceTrimProperty,
  StorageDeviceWriteAggregationProperty,
  StorageDeviceDeviceTelemetryProperty,
  StorageDeviceLBProvisioningProperty,
  StorageDevicePowerProperty,
  StorageDeviceCopyOffloadProperty,
  StorageDeviceResiliencyProperty,
  StorageDeviceMediumProductType,
  StorageAdapterRpmbProperty,
  StorageAdapterCryptoProperty,
  StorageDeviceTieringProperty,
  StorageDeviceFaultDomainProperty,
  StorageDeviceClusportProperty,
  StorageDeviceDependantDevicesProperty,
  StorageDeviceIoCapabilityProperty,
  StorageAdapterProtocolSpecificProperty,
  StorageDeviceProtocolSpecificProperty,
  StorageAdapterTemperatureProperty,
  StorageDeviceTemperatureProperty,
  StorageAdapterPhysicalTopologyProperty,
  StorageDevicePhysicalTopologyProperty,
  StorageDeviceAttributesProperty,
  StorageDeviceManagementStatus,
  StorageAdapterSerialNumberProperty,
  StorageDeviceLocationProperty,
  StorageDeviceNumaProperty,
  StorageDeviceZonedDeviceProperty,
  StorageDeviceUnsafeShutdownCount,
  StorageDeviceEnduranceProperty,
  StorageDeviceLedStateProperty,
  StorageDeviceSelfEncryptionProperty,
  StorageFruIdProperty,
  StorageStackProperty,
  StorageAdapterProtocolSpecificPropertyEx,
  StorageDeviceProtocolSpecificPropertyEx
} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID;

Constants

 
StorageDeviceProperty
The caller is querying for the device descriptor, STORAGE_DEVICE_DESCRIPTOR.
StorageAdapterProperty
The caller is querying for the adapter descriptor, STORAGE_ADAPTER_DESCRIPTOR.
StorageDeviceIdProperty
The caller is querying for the device identifiers provided with the SCSI vital product data pages. Data is returned using the STORAGE_DEVICE_ID_DESCRIPTOR structure.
StorageDeviceUniqueIdProperty
The caller is querying for the unique device identifiers. Data is returned using the STORAGE_DEVICE_UNIQUE_IDENTIFIER structure.
StorageDeviceWriteCacheProperty
The caller is querying for the write cache property. Data is returned using the STORAGE_WRITE_CACHE_PROPERTY structure.
StorageMiniportProperty
Reserved for system use.
StorageAccessAlignmentProperty
The caller is querying for the access alignment descriptor, STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR.
StorageDeviceSeekPenaltyProperty
The caller is querying for the seek penalty descriptor, DEVICE_SEEK_PENALTY_DESCRIPTOR.
StorageDeviceTrimProperty
The caller is querying for the trim descriptor, DEVICE_TRIM_DESCRIPTOR.
StorageDeviceWriteAggregationProperty
Reserved for system use.
StorageDeviceDeviceTelemetryProperty
Reserved for system use.
StorageDeviceLBProvisioningProperty
The caller is querying for the logical block provisioning property. Data is returned using the DEVICE_LB_PROVISIONING_DESCRIPTOR structure.
StorageDevicePowerProperty
The caller is querying for the device power descriptor. Data is returned using the DEVICE_POWER_DESCRIPTOR structure.
StorageDeviceCopyOffloadProperty
The caller is querying for the copy offload parameters property. Data is returned using the DEVICE_COPY_OFFLOAD_DESCRIPTOR structure.
StorageDeviceResiliencyProperty
Reserved for system use.
StorageDeviceMediumProductType
The caller is querying for the medium product type. Data is returned using the STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR structure.
StorageAdapterRpmbProperty
The caller is querying for RPMB support and properties. Data is returned using the STORAGE_RPMB_DESCRIPTOR structure.
StorageAdapterCryptoProperty
Provides information on the storage adapter encryption capabilities. This is currently supported on UFS (Universal Flash Storage) adapters.
StorageDeviceTieringProperty
Reserved for system use.
StorageDeviceFaultDomainProperty
Reserved for system use.
StorageDeviceClusportProperty
Reserved for system use.
StorageDeviceDependantDevicesProperty
Reserved for system use.
StorageDeviceIoCapabilityProperty
The caller is querying for the device I/O capability property. Data is returned using the STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR structure.
StorageAdapterProtocolSpecificProperty
The caller is querying for protocol-specific data from the adapter. Data is returned using the STORAGE_PROTOCOL_DATA_DESCRIPTOR structure. See the Remarks for more info.
StorageDeviceProtocolSpecificProperty
The caller is querying for protocol-specific data from the device. Data is returned using the STORAGE_PROTOCOL_DATA_DESCRIPTOR structure. See the Remarks for more info.
StorageAdapterTemperatureProperty
The caller is querying temperature data from the adapter. Data is returned using the STORAGE_TEMPERATURE_DATA_DESCRIPTOR structure.
StorageDeviceTemperatureProperty
The caller is querying for temperature data from the device. Data is returned using the STORAGE_TEMPERATURE_DATA_DESCRIPTOR structure.
StorageAdapterPhysicalTopologyProperty
The caller is querying for topology information from the adapter. Data is returned using the STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR structure.
StorageDevicePhysicalTopologyProperty
The caller is querying for topology information from the device. Data is returned using the STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR structure.
StorageDeviceAttributesProperty
Reserved for future use.
StorageDeviceManagementStatus
The caller is querying for health information about the storage device (specifically for the persistent memory stack).
StorageAdapterSerialNumberProperty
The caller is querying for the adapter serial number. Data is returned using the STORAGE_ADAPTER_SERIAL_NUMBER structure.
StorageDeviceLocationProperty
Reserved for system use.
StorageDeviceNumaProperty
The caller is querying for the non-uniform memory access (NUMA) node of the storage device.
StorageDeviceZonedDeviceProperty
Reserved for system use.
StorageDeviceUnsafeShutdownCount
Provides the unsafe shutdown count value used to determine if the device data might have been lost during a power loss event (specifically for the persistent memory stack).
StorageDeviceEnduranceProperty
The caller is querying for how many bytes have been read from or written to a solid-state drive (SSD). This property is currently supported only for Non-Volatile Memory Express (NVMe) devices that implement a certain NVMe feature.
StorageDeviceLedStateProperty
The caller is querying for the LED state of the device. Data is returned using the STORAGE_DEVICE_LED_STATE_DESCRIPTOR structure. This property is currently supported only for certain NVMe devices. Supported in Windows Server 2022 and later.
StorageDeviceSelfEncryptionProperty
The caller is querying to determine whether the device supports self encryption. Data is returned using the STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY structure. Supported in Windows Server 2022 and later.
StorageFruIdProperty
The caller is querying for the ID of a fault replacement unit (FRU). Data is returned using the STORAGE_FRU_ID_DESCRIPTOR structure. Supported in Windows Server 2022 and later.
StorageStackProperty
The caller is querying for the type of the storage stack, such as SCSI, NVMe, and so on. Data is returned using the STORAGE_STACK_DESCRIPTOR structure.
StorageAdapterProtocolSpecificPropertyEx
The caller is querying for protocol-specific data from the adapter. Data is returned using the STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT structure. See the Remarks for more info.
StorageDeviceProtocolSpecificPropertyEx
The caller is querying for protocol-specific data from the device. Data is returned using the STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT structure. See the Remarks for more info.

Remarks

The STORAGE_PROPERTY_QUERY structure is passed as input to an IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the properties of a storage device or adapter.

The optional output buffer returned from an IOCTL_STORAGE_QUERY_PROPERTY control code request can be one of several structures, depending on the value of the PropertyId member of the STORAGE_PROPERTY_QUERY structure. If the QueryType member of the STORAGE_PROPERTY_QUERY is set to PropertyExistsQuery, then no structure is returned.

Requirements

Requirement Value
Header ntddstor.h

See also