estrutura STORAGE_PROTOCOL_SPECIFIC_DATA (ntddstor.h)
Descreve dados de dispositivo específicos do protocolo, fornecidos no buffer de entrada e saída de uma solicitação de IOCTL_STORAGE_QUERY_PROPERTY.
Sintaxe
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;
Membros
ProtocolType
O tipo de protocolo. Os valores desse membro são definidos na enumeração STORAGE_PROTOCOL_TYPE.
DataType
O tipo de dados de protocolo. Os tipos de dados são definidos nas enumerações STORAGE_PROTOCOL_NVME_DATA_TYPE e STORAGE_PROTOCOL_ATA_DATA_TYPE.
ProtocolDataRequestValue
O valor da solicitação de dados de protocolo.
ProtocolDataRequestSubValue
O sub-valor da solicitação de dados de protocolo.
ProtocolDataOffset
O deslocamento do buffer de dados que é desde o início dessa estrutura. O valor típico pode ser tamanhos de(STORAGE_PROTOCOL_SPECIFIC_DATA).
ProtocolDataLength
O comprimento dos dados do protocolo. ProtocolDataLength deve ser >= 512 bytes.
FixedProtocolReturnData
Os dados retornados.
ProtocolDataRequestSubValue2
Primeiro valor de sub solicitação de dados adicional.
ProtocolDataRequestSubValue3
Segundo valor de sub solicitação de dados adicional.
ProtocolDataRequestSubValue4
Terceiro valor de sub solicitação de dados adicional.
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:
- NVMeDataTypeIdentify para identificar dados do controlador ou identificar dados do namespace.
- NVMeDataTypeLogPage para obter páginas de log (incluindo dados SMART/health).
- NVMeDataTypeFeature para obter recursos da unidade NVMe.
Para especificar um tipo de informações específicas do protocolo ATA, configure a estrutura de 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) |