IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE IOCTL (ehstorioctl.h)

A solicitação IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE é enviada por drivers de silo e aplicativos para alterar o estado de uma fila de dispositivos de armazenamento. As solicitações de E/S na fila do dispositivo de armazenamento são mantidas quando o dispositivo está temporariamente não autorizado.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

O buffer de entrada em Irp-AssociatedIrp.SystemBuffer> contém uma estrutura ACT_QUEUE_STATE. ACT_QUEUE_STATE é declarado em ehstorioctl.h como o seguinte.

typedef struct tagACT_QUEUE_STATE
{
    BOOLEAN fFrozen;
} ACT_QUEUE_STATE;

Comprimento do buffer de entrada

O comprimento de uma estrutura ACT_QUEUE_STATE .

Buffer de saída

Nenhum.

Comprimento do buffer de saída

Nenhum.

Bloco de status

Um dos valores a seguir pode ser retornado no campo Status .

Valor do Status Descrição
STATUS_SUCCESS O estado da fila foi alterado com êxito.
STATUS_INVALID_BUFFER_SIZE O comprimento do buffer de entrada é muito pequeno.
STATUS_ACCESS_DENIED A solicitação IOCTL não foi emitida por um driver de silo.

Comentários

Drivers de silo ou aplicativos podem congelar a fila de solicitação de E/S do dispositivo de armazenamento se a não autorização temporária for necessária. Normalmente, a não autorização temporária ocorre durante estados de baixa energia ou quando uma política exige o bloqueio de dispositivos de Armazenamento Avançado, como uma sessão de usuário bloqueada. Nesse caso, é preferível colocar solicitações de E/S pendentes em espera em vez de falhar nas solicitações de E/S e causar perda de dados.

Para evitar o abuso da solicitação de IOCTL_EHSTOR_DEVICE_SET_QUEUE_STATE por aplicativos, somente um driver pode emitir esse IOCTL. Se enviada de um aplicativo de modo de usuário, essa solicitação falhará com STATUS_ACCESS_DENIED.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8
Cabeçalho ehstorioctl.h (inclua EhStorIoctl.h)

Confira também

IOCTL_EHSTOR_DEVICE_GET_QUEUE_STATE