Compartilhar via


STORAGE_PROTOCOL_DATA_DESCRIPTOR estrutura (ntddstor.h)

Essa estrutura é usada em conjunto com IOCTL_STORAGE_SET_PROPERTY e IOCTL_STORAGE_QUERY_PROPERTY para definir ou consultar respectivamente dados específicos do protocolo de um dispositivo de armazenamento ou adaptador.

Sintaxe

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

Membros

Version

Versão dessa estrutura. Definido como tamanhos de(STORAGE_PROTOCOL_DATA_DESCRIPTOR).

Size

Tamanho total em bytes do descritor, incluindo o espaço para todos os dados de protocolo. Deve ser =>tamanho de(STORAGE_PROTOCOL_DATA_DESCRIPTOR).

ProtocolSpecificData

Os dados específicos do protocolo, do tipo STORAGE_PROTOCOL_SPECIFIC_DATA.

Observações

Ao usar IOCTL_STORAGE_QUERY_PROPERTY para recuperar informações específicas do protocolo no STORAGE_PROTOCOL_DATA_DESCRIPTOR, configure a estrutura STORAGE_PROPERTY_QUERY da seguinte maneira:

  • Aloque um buffer que possa conter um STORAGE_PROPERTY_QUERY e uma estrutura de STORAGE_PROTOCOL_SPECIFIC_DATA.
  • Defina o campo PropertyID para StorageAdapterProtocolSpecificProperty ou StorageDeviceProtocolSpecificProperty para uma solicitação de dispositivo/namespace ou controlador, respectivamente.
  • Defina o campo QueryType como PropertyStandardQuery .
  • Preencha a estrutura STORAGE_PROTOCOL_SPECIFIC_DATA com os valores desejados. O início do STORAGE_PROTOCOL_SPECIFIC_DATA é o campo AdditionalParameters de STORAGE_PROPERTY_QUERY.

Para especificar um tipo de informações específicas do protocolo NVMe, configure a estrutura STORAGE_PROTOCOL_SPECIFIC_DATA da seguinte maneira:

  • Defina o campo ProtocolType para ProtocolTypeNVMe.
  • Defina o campo DataType como um valor de enumeração definido por STORAGE_PROTOCOL_NVME_DATA_TYPE:
    • Use NVMeDataTypeIdentify para identificar dados do controlador ou identificar dados do namespace.
    • Use NVMeDataTypeLogPage para obter páginas de log (incluindo dados SMART/health).
    • Use NVMeDataTypeFeature para obter recursos da unidade NVMe.

Para especificar um tipo de informações específicas do protocolo ATA, configure a estrutura STORAGE_PROTOCOL_SPECIFIC_DATA da seguinte maneira:

  • Defina o campo ProtocolType como ProtocolTypeAta.
  • Defina o campo DataType como um valor de enumeração definido por STORAGE_PROTOCOL_ATA_DATA_TYPE:
    • Use AtaDataTypeIdentify para identificar a unidade do ATA.
    • Use AtaDataTypeLogPage para obter páginas de log da unidade do ATA.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10
servidor com suporte mínimo Windows Server 2016
cabeçalho ntddstor.h (include Ntddstor.h)

Consulte também

IOCTL_STORAGE_QUERY_PROPERTY

IOCTL_STORAGE_SET_PROPERTY

STORAGE_PROPERTY_ID

STORAGE_PROPERTY_QUERY

STORAGE_PROTOCOL_SPECIFIC_DATA

STORAGE_PROTOCOL_SPECIFIC_DATA_EXT