STORAGE_PROTOCOL_SPECIFIC_DATA - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// ntddstor.h

typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA {
  STORAGE_PROTOCOL_TYPE ProtocolType;
  ULONG                 DataType;
  ULONG                 ProtocolDataRequestValue;
  ULONG                 ProtocolDataRequestSubValue;
  ULONG                 ProtocolDataOffset;
  ULONG                 ProtocolDataLength;
  ULONG                 FixedProtocolReturnData;
  ULONG                 ProtocolDataRequestSubValue2;
  ULONG                 ProtocolDataRequestSubValue3;
  ULONG                 ProtocolDataRequestSubValue4;
} STORAGE_PROTOCOL_SPECIFIC_DATA, *PSTORAGE_PROTOCOL_SPECIFIC_DATA;

View the official Windows Driver Kit DDI reference
// winioctl.h

typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA {
  STORAGE_PROTOCOL_TYPE ProtocolType;
  DWORD                 DataType;
  DWORD                 ProtocolDataRequestValue;
  DWORD                 ProtocolDataRequestSubValue;
  DWORD                 ProtocolDataOffset;
  DWORD                 ProtocolDataLength;
  DWORD                 FixedProtocolReturnData;
  DWORD                 ProtocolDataRequestSubValue2;
  DWORD                 ProtocolDataRequestSubValue3;
  DWORD                 ProtocolDataRequestSubValue4;
} STORAGE_PROTOCOL_SPECIFIC_DATA, *PSTORAGE_PROTOCOL_SPECIFIC_DATA;

View the official Win32 API reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-ntddstor-_storage_protocol_specific_data)

STORAGE_PROTOCOL_SPECIFIC_DATA structure

Description

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

Members

ProtocolType

The protocol type. Values for this member are defined in the STORAGE_PROTOCOL_TYPE enumeration.

DataType

The protocol data type. Data types are defined in the STORAGE_PROTOCOL_NVME_DATA_TYPE and STORAGE_PROTOCOL_ATA_DATA_TYPE enumerations.

ProtocolDataRequestValue

The protocol data request value.

ProtocolDataRequestSubValue

The sub value of the protocol data request.

ProtocolDataOffset

The offset of the data buffer that is from the beginning of this structure. The typical value can be sizeof(STORAGE_PROTOCOL_SPECIFIC_DATA).

ProtocolDataLength

The length of the protocol data. ProtocolDataLength must be >= 512 bytes.

FixedProtocolReturnData

The returned data.

ProtocolDataRequestSubValue2

First additional data sub request value.

ProtocolDataRequestSubValue3

Second additional data sub request value.

ProtocolDataRequestSubValue4

Third additional data sub request value.

Remarks

When using IOCTL_STORAGE_QUERY_PROPERTY to retrieve protocol-specific information in the STORAGE_PROTOCOL_DATA_DESCRIPTOR, configure the STORAGE_PROPERTY_QUERY structure as follows:

To specify a type of NVMe protocol-specific information, configure the STORAGE_PROTOCOL_SPECIFIC_DATA structure as follows:

To specify a type of ATA protocol-specific information, configure the STORAGE_PROTOCOL_SPECIFIC_DATA structure as follows:

See also

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT


Win32 API reference (ns-winioctl-storage_protocol_specific_data)

STORAGE_PROTOCOL_SPECIFIC_DATA structure

Description

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

Members

ProtocolType

The protocol type. Values for this member are defined in the STORAGE_PROTOCOL_TYPE enumeration.

DataType

The protocol data type. Data types are defined in the STORAGE_PROTOCOL_NVME_DATA_TYPE and STORAGE_PROTOCOL_ATA_DATA_TYPE enumerations.

ProtocolDataRequestValue

The protocol data request value.

ProtocolDataRequestSubValue

The sub value of the protocol data request.

ProtocolDataOffset

The offset of the data buffer that is from the beginning of this structure. The typical value can be sizeof(STORAGE_PROTOCOL_SPECIFIC_DATA).

ProtocolDataLength

The length of the protocol data.

FixedProtocolReturnData

The returned data.

ProtocolDataRequestSubValue2

ProtocolDataRequestSubValue3

Reserved

Reserved for future use.

Remarks

When using IOCTL_STORAGE_QUERY_PROPERTY to retrieve protocol-specific information in the STORAGE_PROTOCOL_DATA_DESCRIPTOR, configure the STORAGE_PROPERTY_QUERY structure as follows:

To specify a type of NVMe protocol-specific information, configure the STORAGE_PROTOCOL_SPECIFIC_DATA structure as follows:

To specify a type of ATA protocol-specific information, configure the STORAGE_PROTOCOL_SPECIFIC_DATA structure as follows:

See also

IOCTL_STORAGE_QUERY_PROPERTY

STORAGE_PROPERTY_QUERY