estructura STORAGE_PROTOCOL_DATA_DESCRIPTOR (ntddstor.h)

Esta estructura se usa junto con IOCTL_STORAGE_SET_PROPERTY y IOCTL_STORAGE_QUERY_PROPERTY para establecer o consultar datos específicos del protocolo respectivamente desde un dispositivo de almacenamiento o adaptador.

Sintaxis

typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR {
  ULONG                          Version;
  ULONG                          Size;
  STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData;
} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR;

Miembros

Version

Versión de esta estructura. Establezca en sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR).

Size

Tamaño total en bytes del descriptor, incluido el espacio para todos los datos del protocolo. Debe ser =>sizeof(STORAGE_PROTOCOL_DATA_DESCRIPTOR).

ProtocolSpecificData

Datos específicos del protocolo, de tipo STORAGE_PROTOCOL_SPECIFIC_DATA.

Comentarios

Al usar IOCTL_STORAGE_QUERY_PROPERTY para recuperar información específica del protocolo en el STORAGE_PROTOCOL_DATA_DESCRIPTOR, configure la estructura STORAGE_PROPERTY_QUERY de la siguiente manera:

  • Asigne un búfer que pueda contener una STORAGE_PROPERTY_QUERY y una estructura STORAGE_PROTOCOL_SPECIFIC_DATA.
  • Establezca el campo PropertyID en StorageAdapterProtocolSpecificProperty o en StorageDeviceProtocolSpecificProperty para una solicitud de controlador o espacio de nombres, respectivamente.
  • Establezca el campo QueryType en PropertyStandardQuery.
  • Rellene la estructura STORAGE_PROTOCOL_SPECIFIC_DATA con los valores deseados. El inicio de STORAGE_PROTOCOL_SPECIFIC_DATA es el campo AdditionalParameters de STORAGE_PROPERTY_QUERY.

Para especificar un tipo de información específica del protocolo NVMe, configure la estructura STORAGE_PROTOCOL_SPECIFIC_DATA de la siguiente manera:

  • Establezca el campo ProtocolType en ProtocolTypeNVMe.
  • Establezca el campo DataType en un valor de enumeración definido por STORAGE_PROTOCOL_NVME_DATA_TYPE:
    • Use NVMeDataTypeIdentify para obtener los datos del controlador de identificación o para identificar los datos del espacio de nombres.
    • Use NVMeDataTypeLogPage para obtener páginas de registro (incluidos los datos SMART/health).
    • Use NVMeDataTypeFeature para obtener características de la unidad NVMe.

Para especificar un tipo de información específica del protocolo ATA, configure la estructura STORAGE_PROTOCOL_SPECIFIC_DATA de la siguiente manera:

  • Establezca el campo ProtocolType en ProtocolTypeAta.
  • Establezca el campo DataType en un valor de enumeración definido por STORAGE_PROTOCOL_ATA_DATA_TYPE:
    • Use AtaDataTypeIdentify para identificar la unidad ATA.
    • Use AtaDataTypeLogPage para obtener páginas de registro de la unidad ATA.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Servidor mínimo compatible Windows Server 2016
Encabezado ntddstor.h (incluya Ntddstor.h)

Consulte también

IOCTL_STORAGE_QUERY_PROPERTY

IOCTL_STORAGE_SET_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT