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 do 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 é do início dessa estrutura. O valor típico pode ser sizeof(STORAGE_PROTOCOL_SPECIFIC_DATA).
ProtocolDataLength
O comprimento dos dados do protocolo. ProtocolDataLength deve ser >= 512 bytes.
FixedProtocolReturnData
Os dados retornados.
ProtocolDataRequestSubValue2
Primeiro valor de subprocuração de dados adicional.
ProtocolDataRequestSubValue3
Segundo valor de sub-solicitação de dados adicional.
ProtocolDataRequestSubValue4
Terceiro valor de sub-solicitação de dados adicional.
Comentários
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 uma estrutura STORAGE_PROPERTY_QUERY e uma STORAGE_PROTOCOL_SPECIFIC_DATA.
- Defina o campo PropertyID como StorageAdapterProtocolSpecificProperty ou StorageDeviceProtocolSpecificProperty para um controlador ou solicitação de dispositivo/namespace, 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 como ProtocolTypeNVMe.
- Defina o campo DataType como um valor de enumeração definido por STORAGE_PROTOCOL_NVME_DATA_TYPE:
- NVMeDataTypeIdentify para obter dados do Controlador de Identificação 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 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 |
---|---|
Cliente mínimo com suporte | Windows 10 |
Servidor mínimo com suporte | Windows Server 2016 |
Cabeçalho | ntddstor.h (inclua Ntddstor.h) |