ntddstor.h header

This header is used by storage. For more information, see:

ntddstor.h contains the following programming interfaces:

IOCTLs

 
IOCTL_STORAGE_BREAK_RESERVATION

Breaks a disk reservation.
IOCTL_STORAGE_CHECK_VERIFY

Determines whether the media has changed on a removable-media device that the caller has opened for read or write access.
IOCTL_STORAGE_CHECK_VERIFY2

Determines whether the media has changed on a removable-media device - the caller has opened with FILE_READ_ATTRIBUTES.
IOCTL_STORAGE_DEVICE_POWER_CAP

A driver can use IOCTL_STORAGE_DEVICE_POWER_CAP to specify a maximum operational power consumption level for a storage device.
IOCTL_STORAGE_DIAGNOSTIC

IOCTL_STORAGE_DIAGNOSTIC is used to query diagnostic data from the storage driver stack.
IOCTL_STORAGE_EJECT_MEDIA

Causes the device to eject the media if the device supports ejection capabilities.
IOCTL_STORAGE_EJECTION_CONTROL

Locks the device to prevent removal of the media.
IOCTL_STORAGE_FIND_NEW_DEVICES

Determines whether another device that the driver supports has been connected to the I/O bus, either since the system was booted or since the driver last processed this request.
IOCTL_STORAGE_FIRMWARE_ACTIVATE

A driver can use IOCTL_STORAGE_FIRMWARE_ACTIVATE to activate a firmware image on a storage device.
IOCTL_STORAGE_FIRMWARE_DOWNLOAD

A driver can use IOCTL_STORAGE_FIRMWARE_DOWNLOAD to download a firmware image to a storage device, but does not activate it.
IOCTL_STORAGE_FIRMWARE_GET_INFO

A driver can use IOCTL_STORAGE_FIRMWARE_GET_INFO to query a storage device for detailed firmware information.
IOCTL_STORAGE_GET_DEVICE_INTERNAL_LOG

A driver can use IOCTL_STORAGE_GET_DEVICE_INTERNAL_LOG to get the internal status data from the device.
IOCTL_STORAGE_GET_DEVICE_NUMBER

Returns a STORAGE_DEVICE_NUMBER structure that contains the FILE_DEVICE_XXX type, device number, and, for a partitionable device, the partition number assigned to a device by the driver when the device is started.
IOCTL_STORAGE_GET_DEVICE_NUMBER_EX

Returns a STORAGE_DEVICE_NUMBER structure that contains the FILE_DEVICE_XXX type, device number, device GUID, and, for a partitionable device, the partition number assigned to a device by the driver when the device is started.
IOCTL_STORAGE_GET_HOTPLUG_INFO

Retrieves the hotplug configuration of the specified device.
IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES

The IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES request is sent to the storage class driver to determine available and used mapping resources on a storage device.
IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER

Queries the USB generic parent driver for the serial number of a USB device.
IOCTL_STORAGE_GET_MEDIA_TYPES

Returns information about the geometry of floppy drives.
IOCTL_STORAGE_GET_MEDIA_TYPES_EX

Returns information about the types of media supported by a device.
IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS

The IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS control code queries for and returns the physical element status from a device.
IOCTL_STORAGE_LOAD_MEDIA

Causes media to be loaded in a device that the caller has opened for read or write access.
IOCTL_STORAGE_LOAD_MEDIA2

Causes media to be loaded in a device that the caller has opened with FILE_READ_ATTRIBUTES.
IOCTL_STORAGE_MANAGE_BYPASS_IO

The IOCTL_STORAGE_MANAGE_BYPASS_IO control code controls BypassIO operations on a given file in all layers of the volume and storage stacks.
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES

This IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request is used to send a data set management request to a storage device.
IOCTL_STORAGE_MCN_CONTROL

Temporarily enables or disables delivery of the custom PnP events GUID_IO_MEDIA_ARRIVAL and GUID_IO_MEDIA_REMOVAL on a removable-media device.
IOCTL_STORAGE_MEDIA_REMOVAL

IOCTL_STORAGE_MEDIA_REMOVAL locks the device to prevent removal of the media.
IOCTL_STORAGE_PERSISTENT_RESERVE_IN

Learn more about theIOCTL_STORAGE_PERSISTENT_RESERVE_IN I/O control code.
IOCTL_STORAGE_PERSISTENT_RESERVE_OUT

Learn more about theIOCTL_STORAGE_PERSISTENT_RESERVE_OUT I/O control code.
IOCTL_STORAGE_PREDICT_FAILURE

Polls for a prediction of device failure.
IOCTL_STORAGE_PROTOCOL_COMMAND

A driver can use IOCTL_STORAGE_PROTOCOL_COMMAND to pass vendor-specific commands to a storage device.
IOCTL_STORAGE_QUERY_PROPERTY

A driver can use IOCTL_STORAGE_QUERY_PROPERTY to return properties of a storage device or adapter.
IOCTL_STORAGE_READ_CAPACITY

The IOCTL_STORAGE_READ_CAPACITY request returns the read capacity information for the target storage device.
IOCTL_STORAGE_REINITIALIZE_MEDIA

A driver can use the IOCTL_STORAGE_REINITIALIZE_MEDIA control code to reinitialize/erase a device.
IOCTL_STORAGE_RELEASE

Releases a device previously reserved for the exclusive use of the caller on a bus that supports multiple initiators and the concept of reserving a device, such as a SCSI bus.
IOCTL_STORAGE_RESERVE

Claims a device for the exclusive use of the caller on a bus that supports multiple initiators and the concept of reserving a device, such as a SCSI bus.
IOCTL_STORAGE_RESET_BUS

Resets an I/O bus and, indirectly, each device on the bus.
IOCTL_STORAGE_RESET_DEVICE

If possible, resets a non-SCSI storage device without affecting other devices on the bus.
IOCTL_STORAGE_SET_HOTPLUG_INFO

Sets the hotplug configuration of the specified device.
IOCTL_STORAGE_SET_PROPERTY

A driver can use IOCTL_STORAGE_SET_PROPERTY to set the properties of a storage device or adapter.
IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD

A driver can use IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD to set the temperature threshold of a storage device (when supported by the hardware).

Functions

 
DEVICE_DSM_ROUND_DN

The DEVICE_DSM_ROUND_DN macro is a DSM helper routine that rounds a byte quantity down to a given number of whole bytes.
DEVICE_DSM_ROUND_UP

The DEVICE_DSM_ROUND_UP macro is a DSM helper routine that rounds a byte quantity up to a given number of whole bytes.
DeviceDsmAddDataSetRange

The DeviceDsmAddDataSetRange function adds a data set range to a DEVICE_DSM_INPUT structure.
DeviceDsmDataSetRanges

The DeviceDsmDataSetRanges function function gets a pointer to the data set ranges associated with a DEVICE_DSM_INPUT structure.
DeviceDsmGetInputLength

The DeviceDsmGetInputLength function gets the number of bytes in a DEVICE_DSM_INPUT structure.
DeviceDsmGetNumberOfDataSetRanges

The DeviceDsmGetNumberOfDataSetRanges function gets the number of data set ranges in the payload of an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request.
DeviceDsmGetOutputBlockLength

The DeviceDsmGetOutputBlockLength function gets the length, in bytes, of a data set management (DSM) output block.
DeviceDsmGetOutputLength

The DeviceDsmGetOutputLength function gets the length, in bytes, of a data set management output operation.
DeviceDsmInitializeInput

The DeviceDsmInitializeInput function initializes a DEVICE_DSM_INPUT structure.
DeviceDsmInitializeOutput

The DeviceDsmInitializeOutput function initializes a DEVICE_DSM_OUTPUT structure.
DeviceDsmNumberOfDataSetRanges

The DeviceDsmNumberOfDataSetRanges function gets the number of data set ranges in the payload of an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request.
DeviceDsmOutputBlock

The DeviceDsmOutputBlock function gets the output block of a DEVICE_DSM_OUTPUT structure.
DeviceDsmParameterBlock

The DeviceDsmParameterBlock function gets the parameter block for a data set management (DSM) operation.
DeviceDsmValidateInput

The DeviceDsmValidateInput function validates whether a DEVICE_DSM_INPUT structure is valid.
DeviceDsmValidateOutput

The DeviceDsmValidateOutput function validates a DEVICE_DSM_OUTPUT structure.
DeviceDsmValidateOutputLength

The DeviceDsmValidateOutputLength function validates the length of an output buffer.
IsDsmActionNonDestructive

The IsDsmActionNonDestructive macro determines whether a data set management (DSM) action is nondestructive.
RtlCopyMemory

The RtlCopyMemory routine copies the contents of a source memory block to a destination memory block.
RtlZeroMemory

The RtlZeroMemory macro (ntddstor.h) fills a block of memory with zeros, given a pointer to the block and the length, in bytes, to be filled.

Structures

 
BPIO_INPUT

The BPIO_INPUT structure specifies the requested BypassIO operation and flags for the IOCTL_STORAGE_MANAGE_BYPASS_IO control code.
BPIO_OUTPUT

The BPIO_OUTPUT structure is used to return information about the BypassIO operation for the IOCTL_STORAGE_MANAGE_BYPASS_IO control code.
BPIO_RESULTS

The BPIO_RESULTS structure defines BypassIO operation-specific outputs for BPIO_OP_ENABLE and BPIO_OP_QUERY operations when a driver is failing the operation.
DEVICE_COPY_OFFLOAD_DESCRIPTOR

Used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to describe the copy offload capabilities of a storage device.
DEVICE_DATA_SET_LB_PROVISIONING_STATE

The DEVICE_DATA_SET_LB_PROVISIONING_STATE structure is returned by an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request when requesting logical block provisioning information for a data set range.
DEVICE_DATA_SET_RANGE

The DEVICE_DSM_RANGE (or DEVICE_DATA_SET_RANGE) structure specifies a block of data set ranges for the attributes for a device.
DEVICE_DATA_SET_REPAIR_PARAMETERS

The DEVICE_DATA_SET_REPAIR_PARAMETERS structure specifies the parameters of a storage spaces repair operation specified for a data set management action.
DEVICE_DSM_CONVERSION_OUTPUT

The DEVICE_DSM_CONVERSION_OUTPUT structure is reserved for system use only.
DEVICE_DSM_DEFINITION

The DEVICE_DSM_DEFINITION structure contains the properties for a data set management (DSM) action.
DEVICE_DSM_FREE_SPACE_OUTPUT

The _DEVICE_DSM_FREE_SPACE_OUTPUT structure is reserved for system use only.
DEVICE_DSM_LOST_QUERY_OUTPUT

The _DEVICE_DSM_LOST_QUERY_OUTPUT structure is reserved for system use only.
DEVICE_DSM_LOST_QUERY_PARAMETERS

The _DEVICE_DSM_LOST_QUERY_PARAMETERS structure is reserved for system use only.
DEVICE_DSM_NOTIFICATION_PARAMETERS

The DEVICE_DSM_NOTIFICATION_PARAMETERS structure specifies the parameters for a notification operation related to the data-set attributes for a device.
DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS

The DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS structure contains caching priority information to apply to a range of logical blocks.
DEVICE_DSM_OFFLOAD_READ_PARAMETERS

The DEVICE_DSM_OFFLOAD_READ_PARAMETERS structure specifies the parameters for an offload read action related to the data-set attributes for a device.
DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS

The DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS structure specifies the parameters for an offload write action related to the data-set attributes for a device.
DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT

The DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT structure stores physical address ranges that correspond with one or more logical block ranges.
DEVICE_DSM_QUERY_PREFER_LOCAL_REPAIR_OUTPUT

The DEVICE_DSM_QUERY_PREFER_LOCAL_REPAIR_OUTPUT structure indicates if the device prefers local repair of storage spaces.
DEVICE_DSM_RANGE_ERROR_INFO

The DEVICE_DSM_RANGE_ERROR_OUTPUT (or DEVICE_DSM_RANGE_ERROR_INFO) structure stores information about whether one or more logical block ranges contain any media errors.
DEVICE_DSM_REPORT_ZONES_DATA

The DEVICE_DSM_REPORT_ZONES_DATA structure is reserved for system use only.
DEVICE_DSM_REPORT_ZONES_PARAMETERS

The DEVICE_DSM_REPORT_ZONES_PARAMETERS structure is reserved for system use only.
DEVICE_DSM_TIERING_QUERY_INPUT

Learn how the DEVICE_DSM_TIERING_QUERY_INPUT structure is reserved for system use only.
DEVICE_DSM_TIERING_QUERY_OUTPUT

The DEVICE_DSM_TIERING_QUERY_OUTPUT structure is reserved for system use only.
DEVICE_INTERNAL_STATUS_DATA

Learn more about: DEVICE_INTERNAL_STATUS_DATA structure
DEVICE_LB_PROVISIONING_DESCRIPTOR

The DEVICE_LB_PROVISIONING_DESCRIPTOR structure is one of the query result structures returned from an IOCTL_STORAGE_QUERY_PROPERTY request. This structure contains the thin provisioning capabilities for a storage device.
DEVICE_MANAGE_DATA_SET_ATTRIBUTES

The DEVICE DSM_INPUT (or DEVICE_MANAGE_DATA_SET_ATTRIBUTES) structure specifies a management action for the data-set attributes for a device.
DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT

The DEVICE_DSM_OUTPUT (or DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT) structure describes output for IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code requests for some data set management actions.
DEVICE_MEDIA_INFO

The _DEVICE_MEDIA_INFO structure (ntddstor.h) contains detailed information about the characteristics of a media device.
DEVICE_POWER_DESCRIPTOR

Used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY control code to describes the power capabilities of a storage device.
DEVICE_SEEK_PENALTY_DESCRIPTOR

The DEVICE_SEEK_PENALTY_DESCRIPTOR structure is used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the seek penalty descriptor data for a device.
DEVICE_STORAGE_ADDRESS_RANGE

The DEVICE_STORAGE_ADDRESS_RANGE structure contains a physical address range.
DEVICE_STORAGE_RANGE_ATTRIBUTES

Learn more about: DEVICE_STORAGE_RANGE_ATTRIBUTES structure
DEVICE_TRIM_DESCRIPTOR

The DEVICE_TRIM_DESCRIPTOR structure is used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the trim descriptor data for a device.
DEVICE_WRITE_AGGREGATION_DESCRIPTOR

Microsoft reserves the DEVICE_WRITE_AGGREGATION_DESCRIPTOR structure for internal use only. Don't use this structure in your code.
GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST

The GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST structure describes the internal status data being requested through IOCTL_STORAGE_GET_DEVICE_INTERNAL_LOG.
GET_MEDIA_TYPES

The _GET_MEDIA_TYPES structure (ntddstor.h) contains information about the types of media supported by a device.
PERSISTENT_RESERVE_COMMAND

Learn more about the PERSISTENT_RESERVE_COMMAND structure.
PHYSICAL_ELEMENT_STATUS

The PHYSICAL_ELEMENT_STATUS structure defines the output buffer for IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS.
PHYSICAL_ELEMENT_STATUS_DESCRIPTOR

The PHYSICAL_ELEMENT_STATUS_DESCRIPTOR structure contains status information for a physical element.
PHYSICAL_ELEMENT_STATUS_REQUEST

The PHYSICAL_ELEMENT_STATUS_REQUEST structure defines the starting element to look for the physical element status of a device.
STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR

The STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR structure is used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the storage access alignment descriptor data for a device.
STORAGE_ADAPTER_DESCRIPTOR

The STORAGE_ADAPTER_DESCRIPTOR structure is used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the storage adapter descriptor data for a device.
STORAGE_BREAK_RESERVATION_REQUEST

The STORAGE_BREAK_RESERVATION_REQUEST structure is used in conjunction with the IOCTL_STORAGE_BREAK_RESERVATION request to free a disk resource that was previously reserved.
STORAGE_BUS_RESET_REQUEST

The STORAGE_BUS_RESET_REQUEST structure is used in conjunction with the IOCTL_STORAGE_RESET_BUS request to specify the path of the bus to be reset.
STORAGE_CRYPTO_CAPABILITY

Microsoft reserves the STORAGE_CRYPTO_CAPABILITY structure for internal use only. Don't use this structure in your code.
STORAGE_CRYPTO_CAPABILITY_V2

Microsoft reserves the STORAGE_CRYPTO_CAPABILITY_V2 structure for internal use only. Don't use this structure in your code.
STORAGE_CRYPTO_DESCRIPTOR

Microsoft reserves the STORAGE_CRYPTO_DESCRIPTOR structure for internal use only. Don't use this structure in your code.
STORAGE_CRYPTO_DESCRIPTOR_V2

Microsoft reserves the STORAGE_CRYPTO_DESCRIPTOR_V2 structure for internal use only. Don't use this structure in your code.
STORAGE_DESCRIPTOR_HEADER

The STORAGE_DESCRIPTOR_HEADER structure is used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the properties of a storage device or adapter.
STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR

The STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR structure is used to retrieve the attributes information for a device.
STORAGE_DEVICE_DESCRIPTOR

The STORAGE_DEVICE_DESCRIPTOR structure is used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the storage device descriptor data for a device.
STORAGE_DEVICE_ID_DESCRIPTOR

The STORAGE_DEVICE_ID_DESCRIPTOR structure is used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the device ID descriptor data for a device.
STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR

The output buffer for the StorageDeviceIoCapabilityProperty as defined in STORAGE_PROPERTY_ID.
STORAGE_DEVICE_LED_STATE_DESCRIPTOR

The STORAGE_DEVICE_LED_STATE_DESCRIPTOR structure describes the LED state of a device.
STORAGE_DEVICE_NUMBER

The STORAGE_DEVICE_NUMBER structure is used in conjunction with the IOCTL_STORAGE_GET_DEVICE_NUMBER request to retrieve the FILE_DEVICE_XXX device type, the device number, and, for a device that can be partitioned, the partition number assigned to a device by the driver when the device is started.
STORAGE_DEVICE_NUMBER_EX

The STORAGE_DEVICE_NUMBER_EX structure is used in conjunction with the IOCTL_STORAGE_GET_DEVICE_NUMBER_EX request to retrieve the FILE_DEVICE_XXX device type, the device number, device GUID, and, for a device that can be partitioned, the partition number assigned to a device by the driver when the device is started.
STORAGE_DEVICE_POWER_CAP

This structure is used as an input and output buffer for the IOCTL_STORAGE_DEVICE_POWER_CAP.
STORAGE_DEVICE_RESILIENCY_DESCRIPTOR

Microsoft reserves the STORAGE_DEVICE_RESILIENCY_DESCRIPTOR structure for internal use only. Don't use this structure in your code.
STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY

STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY is the structure used when a caller sends IOCTL_STORAGE_QUERY_PROPERTY to query whether a device supports self encryption.
STORAGE_DIAGNOSTIC_DATA

Describes diagnostic data about the storage driver stack. The STORAGE_DIAGNOSTIC_DATA structure is provided in the output buffer of an IOCTL_STORAGE_DIAGNOSTIC request.
STORAGE_DIAGNOSTIC_REQUEST

Describes a diagnostic request about the storage driver stack. The STORAGE_DIAGNOSTIC_REQUEST structure is provided in the input buffer of an IOCTL_STORAGE_DIAGNOSTIC request.
STORAGE_FRU_ID_DESCRIPTOR

STORAGE_FRU_ID_DESCRIPTOR is the structure used when a caller sends IOCTL_STORAGE_QUERY_PROPERTY to query for the ID of a fault replacement unit (FRU).
STORAGE_HOTPLUG_INFO

The STORAGE_HOTPLUG_INFO structure provides hotplug information for a device.
STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR

A storage port driver uses the STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR structure to report a device's endurance information.
STORAGE_HW_ENDURANCE_INFO

A storage port driver uses the STORAGE_HW_ENDURANCE_INFO structure to report a device's endurance information.
STORAGE_HW_FIRMWARE_ACTIVATE

Learn more about the STORAGE_HW_FIRMWARE_ACTIVATE structure.
STORAGE_HW_FIRMWARE_DOWNLOAD

This structure contains a firmware image payload to be downloaded to the target.
STORAGE_HW_FIRMWARE_INFO

This structure contains information about the device firmware.
STORAGE_HW_FIRMWARE_INFO_QUERY

The _STORAGE_HW_FIRMWARE_INFO_QUERY structure contains information about the device firmware.
STORAGE_HW_FIRMWARE_SLOT_INFO

This structure contains information about a slot on a device.
STORAGE_IDENTIFIER

The STORAGE_IDENTIFIER structure represents a SCSI identification descriptor.
STORAGE_LB_PROVISIONING_MAP_RESOURCES

The STORAGE_LB_PROVISIONING_MAP_RESOURCES structure contains, when valid, the count of available and used bytes mapped to a storage device. This structure is returned from an IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES request.
STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR

Used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to describe the product type of a storage device.
STORAGE_MINIPORT_DESCRIPTOR

Microsoft reserves the STORAGE_MINIPORT_DESCRIPTOR structure for internal use only. Don't use this structure in your code.
STORAGE_OFFLOAD_READ_OUTPUT

The STORAGE_OFFLOAD_READ_OUTPUT structure is the output of an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code request when the Action member of DEVICE_DSM_INPUT is set to DeviceDsmAction_OffloadRead.
STORAGE_OFFLOAD_TOKEN

The STORAGE_OFFLOAD_TOKEN structure contains a token value that serves as a representation of a data set range within a file on a volume. This structure is used in performing offload reads and writes.
STORAGE_OFFLOAD_WRITE_OUTPUT

The STORAGE_OFFLOAD_WRITE_OUTPUT structure is the output of an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES control code request when the Action member of DEVICE_MANAGE_DATA_SET_ATTRIBUTES is set to DeviceDsmAction_OffloadWrite.
STORAGE_PHYSICAL_ADAPTER_DATA

Specifies the physical device data of a storage adapter.
STORAGE_PHYSICAL_DEVICE_DATA

Specifies the physical device data of a storage device.
STORAGE_PHYSICAL_NODE_DATA

Specifies the physical device data of a storage node.
STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR

Describes the physical topology of storage in a system.
STORAGE_PREDICT_FAILURE

The _STORAGE_PREDICT_FAILURE structure (ntddstor.h) contains information about whether a device is currently predicting a failure.
STORAGE_PROPERTY_QUERY

This structure is used in conjunction with IOCTL_STORAGE_QUERY_PROPERTY to retrieve the properties of a storage device or adapter.
STORAGE_PROPERTY_SET

The STORAGE_PROPERTY_SET structure describes the details of the property set associated with IOCTL_STORAGE_SET_PROPERTY.
STORAGE_PROTOCOL_COMMAND

This structure is used as an input buffer when using the pass-through mechanism to issue a vendor-specific command to a storage device (via IOCTL_STORAGE_PROTOCOL_COMMAND).
STORAGE_PROTOCOL_DATA_DESCRIPTOR

This structure is used in conjunction with IOCTL_STORAGE_QUERY_PROPERTY to return protocol-specific data from a storage device or adapter.
STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT

This structure is used in conjunction with IOCTL_STORAGE_QUERY_PROPERTY and IOCTL_STORAGE_SET_PROPERTY to respectively return and set protocol-specific data for a storage device or adapter.
STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE

STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE is used to provide additional information to be specified when getting an NVMe log page.
STORAGE_PROTOCOL_SPECIFIC_DATA

Describes protocol-specific device data, provided in the input and output buffer of an IOCTL_STORAGE_QUERY_PROPERTY request.
STORAGE_PROTOCOL_SPECIFIC_DATA_EXT

The STORAGE_PROTOCOL_SPECIFIC_DATA_EXT structure describes the protocol-specific device data for IOCTL_STORAGE_QUERY_PROPERTY and IOCTL_STORAGE_SET_PROPERTY requests.
STORAGE_READ_CAPACITY

The STORAGE_READ_CAPACITY contains the disk read capacity information returned from a IOCTL_STORAGE_READ_CAPACITY request.
STORAGE_REINITIALIZE_MEDIA

STORAGE_REINITIALIZE_MEDIA is an optional structure that contains sanitize parameters for IOCTL_STORAGE_REINITIALIZE_MEDIA.
STORAGE_RPMB_DATA_FRAME

The STORAGE_RPMB_DATA_FRAME structure identifies the frame format of a Replay Protected Memory Block (RPMB) payload.
STORAGE_RPMB_DESCRIPTOR

The STORAGE_RPMB_DESCRIPTOR structure contains information about a device's Replay Protected Memory Block (RPMB) support.
STORAGE_SPEC_VERSION

Indicates the specification of the storage device.
STORAGE_STACK_DESCRIPTOR

The STORAGE_STACK_DESCRIPTOR structure describes the storage stack for the device.
STORAGE_TEMPERATURE_DATA_DESCRIPTOR

This structure is used in conjunction with IOCTL_STORAGE_QUERY_PROPERTY to return temperature data from a storage device or adapter.
STORAGE_TEMPERATURE_INFO

Describes device temperature data. Returned as part of STORAGE_TEMPERATURE_DATA_DESCRIPTOR when querying for temperature data with an IOCTL_STORAGE_QUERY_PROPERTY request.
STORAGE_TEMPERATURE_THRESHOLD

This structure is used to set the over or under temperature threshold of a storage device (via IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD).
STORAGE_WRITE_CACHE_PROPERTY

The STORAGE_WRITE_CACHE_PROPERTY structure is used with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve information about a device's write cache property.
STORAGE_ZONE_DESCRIPTOR

Microsoft reserves the STORAGE_ZONE_DESCRIPTOR structure for internal use only. Don't use this structure in your code.
STORAGE_ZONE_GROUP

Microsoft reserves the STORAGE_ZONE_GROUP structure for internal use only. Don't use this structure in your code.

Enumerations

 
BPIO_INFLAGS

BPIO_INFLAGS defines the BypassIO input flags for the IOCTL_STORAGE_MANAGE_BYPASS_IO control code.
BPIO_OPERATIONS

BPIO_OPERATIONS defines the various BypassIO operations supported by the IOCTL_STORAGE_MANAGE_BYPASS_IO control code.
BPIO_OUTFLAGS

BPIO_OUTFLAGS defines the BypassIO output flags for the IOCTL_STORAGE_MANAGE_BYPASS_IO control code.
DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE

DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE identifies the data type to be queried.
DEVICE_INTERNAL_STATUS_DATA_SET

DEVICE_INTERNAL_STATUS_DATA_SET identifies the device internal status data set to query.
STORAGE_ASSOCIATION_TYPE

Learn more about the STORAGE_ASSOCIATION_TYPE enumeration.
STORAGE_BUS_TYPE

The STORAGE_BUS_TYPE enumeration provides a symbolic means of representing the various types of storage buses.
STORAGE_COMPONENT_HEALTH_STATUS

Indicates the health status of a storage device.
STORAGE_CRYPTO_ALGORITHM_ID

The STORAGE_CRYPTO_ALGORITHM_ID enum provides an output buffer for StorageAdapterCryptoProperty and PropertyStandardQuery.
STORAGE_CRYPTO_KEY_SIZE

The STORAGE_CRYPTO_KEY_SIZE enum returns the Size of the key in bits.
STORAGE_DEVICE_FORM_FACTOR

Indicates the form factor of a storage device.
STORAGE_DEVICE_POWER_CAP_UNITS

The units of the maximum power threshold.
STORAGE_DIAGNOSTIC_LEVEL

The STORAGE_DIAGNOSTIC_LEVEL enumeration specifies the target type of a storage diagnostic.
STORAGE_DIAGNOSTIC_TARGET_TYPE

The STORAGE_DIAGNOSTIC_TARGET_TYPE enumeration specifies the target type of a storage diagnostic.
STORAGE_ICE_TYPE

The STORAGE_ICE_TYPE enum indicates the ICE type of the storage device.
STORAGE_IDENTIFIER_CODE_SET

Learn more about the STORAGE_IDENTIFIER_CODE_SET enumeration.
STORAGE_IDENTIFIER_TYPE

Learn more about the STORAGE_IDENTIFIER_TYPE enumeration.
STORAGE_MEDIA_TYPE

The _STORAGE_MEDIA_TYPE enumeration (ntddstor.h) contains values that indicate the types of media that a device supports.
STORAGE_PORT_CODE_SET

Learn more about the STORAGE_PORT_CODE_SET enumeration.
STORAGE_PROPERTY_ID

STORAGE_PROPERTY_ID enumerates the possible values for STORAGE_PROPERTY_QUERY's PropertyId member.
STORAGE_PROTOCOL_ATA_DATA_TYPE

The ATA protocol data type.
STORAGE_PROTOCOL_NVME_DATA_TYPE

Describes the type of NVMe protocol-specific data that is to be queried during an IOCTL_STORAGE_QUERY_PROPERTY request.
STORAGE_PROTOCOL_TYPE

This enumeration is used to define the different storage command protocols that are used between software and hardware.
STORAGE_PROTOCOL_UFS_DATA_TYPE

The UFS (Universal Flash Storage) data type. Describes the type of UFS specific data that's to be queried during an IOCTL_STORAGE_QUERY_PROPERTY request.
STORAGE_QUERY_TYPE

The STORAGE_QUERY_TYPE enumeration is used in conjunction with the IOCTL_STORAGE_QUERY_PROPERTY request to retrieve the properties of a storage device or adapter.
STORAGE_SANITIZE_METHOD

The STORAGE_SANITIZE_METHOD enumeration identifies the sanitize method for an NVMe device.
STORAGE_SET_TYPE

Learn more about: STORAGE_SET_TYPE enumeration
STORAGE_STACK_TYPE

The STORAGE_STACK_TYPE enum indicates the storage stack type for the device, such as SCSI, NVMe, and so on.
STORAGE_ZONE_CONDITION

Microsoft reserves the STORAGE_ZONE_CONDITION enumeration for internal use only. Don't use this enumeration in your code.
STORAGE_ZONES_ATTRIBUTES

Microsoft reserves the STORAGE_ZONES_ATTRIBUTES enumeration for internal use only. Don't use this enumeration in your code.
WRITE_CACHE_CHANGE

Learn more about the WRITE_CACHE_CHANGE enumeration.
WRITE_CACHE_ENABLE

Learn more about the WRITE_CACHE_ENABLE enumeration.
WRITE_CACHE_TYPE

Learn more about the WRITE_CACHE_TYPE enumeration.
WRITE_THROUGH

Learn more about the WRITE_THROUGH enumeration.