IOCTL_STORAGE_QUERY_PROPERTY IOCTL (ntddstor.h)

Un controlador puede usar IOCTL_STORAGE_QUERY_PROPERTY para devolver propiedades de un dispositivo de almacenamiento o adaptador. La solicitud indica el tipo de información que se va a recuperar, como datos de consulta para un dispositivo o funcionalidades y limitaciones de un adaptador. IOCTL_STORAGE_QUERY_PROPERTY también se puede usar para determinar si el controlador de puerto admite una propiedad determinada o qué campos del descriptor de propiedad se pueden modificar con una solicitud de propiedad de cambio posterior.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

Parameters.DeviceIoControl.InputBufferLength indica el tamaño, en bytes, del búfer de parámetros en Irp-AssociatedIrp.SystemBuffer>, que debe ser >= sizeof(STORAGE_PROPERTY_QUERY).

Irp-> AssociatedIrp.SystemBuffer contiene STORAGE_PROPERTY_QUERY datos que especifican si se debe consultar el dispositivo o el adaptador, el tipo de consulta que se va a realizar y los parámetros adicionales necesarios para la consulta, como el código de página de una página de detección del modo SCSI determinada. Las propiedades del dispositivo solo deben recuperarse de un dispositivo; Si se intenta recuperar las propiedades del dispositivo de un adaptador, se producirá un error.

Parameters.DeviceIoControl.OutputBufferLength indica el número de bytes que se pueden escribir en Irp-AssociatedIrp.SystemBuffer>. OutputBufferLength puede ser cero para determinar si existe una propiedad sin recuperar sus datos.

Longitud del búfer de entrada

Parameters.DeviceIoControl.InputBufferLength indica el tamaño, en bytes, del búfer de parámetros en Irp-AssociatedIrp.SystemBuffer>, que debe ser >= sizeof(STORAGE_PROPERTY_QUERY).

Búfer de salida

El controlador devuelve datos de consulta al búfer en Irp-AssociatedIrp.SystemBuffer>. Se pueden anexar diferentes cantidades de datos específicos del bus a la estructura.

Longitud del búfer de salida

Convierta la estructura devuelta a un STORAGE_DESCRIPTOR_HEADER y compruebe su miembro Size para determinar el número de bytes que realmente requiere la estructura.

Bloque de estado

El campo Información se establece en el número de bytes devueltos. El campo Estado se establece en STATUS_SUCCESS, o posiblemente en STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER o STATUS_NOT_SUPPORTED.

Requisitos

   
Header ntddstor.h (incluya Ntddstor.h)

Consulte también

STORAGE_DESCRIPTOR_HEADER

STORAGE_PROPERTY_QUERY

STORAGE_RPMB_DATA_FRAME