Compartir a través de


IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE IOCTL (ehstorioctl.h)

Los controladores de silo y las aplicaciones envían la solicitud IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE para cambiar el estado de una cola de dispositivos de almacenamiento. Las solicitudes de E/S en la cola del dispositivo de almacenamiento se mantienen cuando el dispositivo no está autorizado temporalmente.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

El búfer de entrada de Irp-AssociatedIrp.SystemBuffer> contiene una estructura de ACT_QUEUE_STATE. ACT_QUEUE_STATE se declara en ehstorioctl.h como se indica a continuación.

typedef struct tagACT_QUEUE_STATE
{
    BOOLEAN fFrozen;
} ACT_QUEUE_STATE;

Longitud del búfer de entrada

Longitud de una estructura de ACT_QUEUE_STATE .

Búfer de salida

Ninguno.

Longitud del búfer de salida

Ninguno.

Bloque de estado

Se puede devolver uno de los valores siguientes en el campo Estado .

Valor de estado Descripción
STATUS_SUCCESS El estado de la cola se cambió correctamente.
STATUS_INVALID_BUFFER_SIZE La longitud del búfer de entrada es demasiado pequeña.
STATUS_ACCESS_DENIED La solicitud IOCTL no fue emitida por un controlador de silo.

Comentarios

Los controladores de silo o las aplicaciones pueden inmovilizar la cola de solicitudes de E/S del dispositivo de almacenamiento si se necesita una cancelación temporal. Normalmente, la desuso temporal se produce durante los estados de baja energía o cuando una directiva requiere el bloqueo de dispositivos de almacenamiento mejorado, como una sesión de usuario bloqueada. En tal caso, es preferible poner las solicitudes de E/S pendientes en espera en lugar de producir errores en las solicitudes de E/S y provocar la pérdida de datos.

Para evitar el abuso de la solicitud de IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE por parte de las aplicaciones, solo un controlador puede emitir este IOCTL. Si se envía desde una aplicación en modo de usuario, se producirá un error en esta solicitud con STATUS_ACCESS_DENIED.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8
Encabezado ehstorioctl.h (include EhStorIoctl.h)

Consulte también

IOCTL_EHSTOR_DEVICE_GET_QUEUE_STATE