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) |