estrutura STORAGE_PROTOCOL_SPECIFIC_DATA (winioctl.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;
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;
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.
FixedProtocolReturnData
Os dados retornados.
ProtocolDataRequestSubValue2
ProtocolDataRequestSubValue3
ProtocolDataRequestSubValue4
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 da STORAGE_PROTOCOL_SPECIFIC_DATA é o campo AdditionalParameters da STORAGE_PROPERTY_QUERY.
- Defina o campo ProtocolType como ProtocolTypeNVMe.
-
Defina o campo DataType como um valor de enumeração definido por STORAGE_PROTOCOL_NVME_DATA_TYPE:
- Use NVMeDataTypeIdentify para obter dados do Controlador de identificação ou dados do Namespace de identificação.
- Use NVMeDataTypeLogPage para obter páginas de log (incluindo dados INTELIGENTES/integridade).
- Use NVMeDataTypeFeature para obter recursos da unidade NVMe.
- 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
Cliente mínimo com suporte | Windows 10 |
Servidor mínimo com suporte | Windows Server 2016 |
Cabeçalho | winioctl.h (inclua Windows.h) |