struttura STORAGE_PROTOCOL_SPECIFIC_DATA (winioctl.h)
Descrive i dati del dispositivo specifici del protocollo, forniti nel buffer di input e output di una richiesta di IOCTL_STORAGE_QUERY_PROPERTY .
Sintassi
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;
Members
ProtocolType
Tipo di protocollo. I valori per questo membro sono definiti nell'enumerazione STORAGE_PROTOCOL_TYPE .
DataType
Tipo di dati del protocollo. I tipi di dati sono definiti nelle enumerazioni STORAGE_PROTOCOL_NVME_DATA_TYPE e STORAGE_PROTOCOL_ATA_DATA_TYPE .
ProtocolDataRequestValue
Valore della richiesta di dati del protocollo.
ProtocolDataRequestSubValue
Valore secondario della richiesta di dati del protocollo.
ProtocolDataOffset
Offset del buffer di dati dall'inizio di questa struttura. Il valore tipico può essere sizeof(STORAGE_PROTOCOL_SPECIFIC_DATA).
ProtocolDataLength
Lunghezza dei dati del protocollo.
FixedProtocolReturnData
Dati restituiti.
ProtocolDataRequestSubValue2
ProtocolDataRequestSubValue3
ProtocolDataRequestSubValue4
Commenti
Quando si usa IOCTL_STORAGE_QUERY_PROPERTY per recuperare informazioni specifiche del protocollo nel STORAGE_PROTOCOL_DATA_DESCRIPTOR, configurare la struttura STORAGE_PROPERTY_QUERY come indicato di seguito:
- Allocare un buffer che può contenere sia un STORAGE_PROPERTY_QUERY che una struttura STORAGE_PROTOCOL_SPECIFIC_DATA .
- Impostare il campo PropertyID su StorageAdapterProtocolSpecificProperty o StorageDeviceProtocolSpecificProperty rispettivamente per una richiesta di controller o dispositivo/spazio dei nomi.
- Impostare il campo QueryType su PropertyStandardQuery.
- Riempire la struttura STORAGE_PROTOCOL_SPECIFIC_DATA con i valori desiderati. L'inizio della STORAGE_PROTOCOL_SPECIFIC_DATA è il campo AdditionalParameters di STORAGE_PROPERTY_QUERY.
- Impostare il campo ProtocolType su ProtocolTypeNVMe.
-
Impostare il campo DataType su un valore di enumerazione definito da STORAGE_PROTOCOL_NVME_DATA_TYPE:
- Usare NVMeDataTypeIdentify per ottenere l'identificazione dei dati del controller o l'identificazione dei dati dello spazio dei nomi.
- Usare NVMeDataTypeLogPage per ottenere pagine di log (inclusi i dati smart/health).
- Usare NVMeDataTypeFeature per ottenere le funzionalità dell'unità NVMe.
- Impostare il campo ProtocolType su ProtocolTypeAta.
-
Impostare il campo DataType su un valore di enumerazione definito da STORAGE_PROTOCOL_ATA_DATA_TYPE:
- Usare AtaDataTypeIdentify per identificare l'unità ATA.
- Usare AtaDataTypeLogPage per ottenere le pagine di log dall'unità ATA.
Requisiti
Client minimo supportato | Windows 10 |
Server minimo supportato | Windows Server 2016 |
Intestazione | winioctl.h (include Windows.h) |