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.
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 de 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
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 >= tamaño de(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 para una página de detección de modo SCSI determinada. Las propiedades del dispositivo solo deben recuperarse de un dispositivo; Si 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 >= tamaño de(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 de se establece en el número de bytes devueltos. El campo Estado de está establecido en STATUS_SUCCESS, o posiblemente en STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER o STATUS_NOT_SUPPORTED.
Requisitos
Requisito | Valor |
---|---|
encabezado de | ntddstor.h (incluya Ntddstor.h) |