Compartilhar via


Função KeRemoveDeviceQueue (wdm.h)

A rotina KeRemoveDeviceQueue remove uma entrada do cabeçalho de uma fila de dispositivos especificada.

Sintaxe

PKDEVICE_QUEUE_ENTRY KeRemoveDeviceQueue(
  [in, out] PKDEVICE_QUEUE DeviceQueue
);

Parâmetros

[in, out] DeviceQueue

Ponteiro para um objeto de fila de dispositivo inicializado para o qual o chamador fornece o armazenamento.

Retornar valor

Se a fila do dispositivo estiver vazia, mas estiver definida como um estado ocupado, KeRemoveDeviceQueue retornará NULL.

Comentários

O bloqueio de rotação da fila do dispositivo especificado é adquirido e o estado da fila do dispositivo é verificado. Se a fila do dispositivo estiver definida como um estado ocupado e um IRP estiver na fila, essa rotina removerá a fila da entrada e retornará um ponteiro para o IRP. Uma chamada para KeRemoveDeviceQueue quando o objeto de fila do dispositivo está definido como um estado ocupado, mas nenhum IRPs são enfileirados faz com que uma alteração de estado não esteja ocupada. O bloqueio de rotação da fila do dispositivo especificado é liberado.

É um erro chamar KeRemoveDeviceQueue quando o objeto de fila do dispositivo está definido como um estado não ocupado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

Confira também

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveByKeyDeviceQueue

KeRemoveEntryDeviceQueue