Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Describe los datos del dispositivo específicos del protocolo, proporcionados en el búfer de entrada y salida de una solicitud de IOCTL_STORAGE_QUERY_PROPERTY.
Sintaxis
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;
Miembros
ProtocolType
Tipo de protocolo. Los valores de este miembro se definen en la enumeración STORAGE_PROTOCOL_TYPE.
DataType
Tipo de datos de protocolo. Los tipos de datos se definen en las enumeraciones STORAGE_PROTOCOL_NVME_DATA_TYPE y STORAGE_PROTOCOL_ATA_DATA_TYPE.
ProtocolDataRequestValue
Valor de solicitud de datos de protocolo.
ProtocolDataRequestSubValue
Subvalor de la solicitud de datos de protocolo.
ProtocolDataOffset
Desplazamiento del búfer de datos que es desde el principio de esta estructura. El valor típico puede ser sizeof(STORAGE_PROTOCOL_SPECIFIC_DATA).
ProtocolDataLength
Longitud de los datos del protocolo. protocolDataLength debe ser >= 512 bytes.
FixedProtocolReturnData
Datos devueltos.
ProtocolDataRequestSubValue2
Primer valor de solicitud secundaria de datos adicional.
ProtocolDataRequestSubValue3
Segundo valor adicional de solicitud secundaria de datos.
ProtocolDataRequestSubValue4
Tercer valor de solicitud secundaria de datos adicional.
Observaciones
Al usar IOCTL_STORAGE_QUERY_PROPERTY para recuperar información específica del protocolo en el STORAGE_PROTOCOL_DATA_DESCRIPTOR, configure la estructura STORAGE_PROPERTY_QUERY de la siguiente manera:
- Asigne un búfer que pueda contener una STORAGE_PROPERTY_QUERY y una estructura de STORAGE_PROTOCOL_SPECIFIC_DATA.
- Establezca el campo PropertyID de en StorageAdapterProtocolSpecificProperty o StorageDeviceProtocolSpecificProperty para una solicitud de controlador o dispositivo o espacio de nombres, respectivamente.
- Establezca el campo QueryType de en PropertyStandardQuery.
- Rellene la estructura STORAGE_PROTOCOL_SPECIFIC_DATA con los valores deseados. El inicio de STORAGE_PROTOCOL_SPECIFIC_DATA es el campo AdditionalParameters de STORAGE_PROPERTY_QUERY.
Para especificar un tipo de información específica del protocolo NVMe, configure la estructura de STORAGE_PROTOCOL_SPECIFIC_DATA de la siguiente manera:
- Establezca el campo ProtocolType de en ProtocolTypeNVMe.
- Establezca el campo DataType en un valor de enumeración definido por STORAGE_PROTOCOL_NVME_DATA_TYPE:
- nvMeDataTypeIdentify para obtener datos del controlador de identificación o identificar datos del espacio de nombres.
- nvMeDataTypeLogPage para obtener páginas de registro (incluidos los datos smart/health).
- NVMeDataTypeFeature para obtener características de la unidad NVMe.
Para especificar un tipo de información específica del protocolo ATA, configure la estructura STORAGE_PROTOCOL_SPECIFIC_DATA de la siguiente manera:
- Establezca el campo protocolType en ProtocolTypeAta.
- Establezca el campo dataType de en un valor de enumeración definido por STORAGE_PROTOCOL_ATA_DATA_TYPE:
- Use AtaDataTypeIdentify para identificar la unidad ATA.
- Use AtaDataTypeLogPage para obtener páginas de registro de la unidad ATA.
Requisitos
| Requisito | Valor |
|---|---|
| cliente mínimo admitido | Windows 10 |
| servidor mínimo admitido | Windows Server 2016 |
| encabezado de | ntddstor.h (incluya Ntddstor.h) |