Compartilhar via


Função KeRemoveByKeyDeviceQueue (wdm.h)

A rotina KeRemoveByKeyDeviceQueue remove uma entrada, selecionada de acordo com um valor de chave de classificação, da fila de dispositivos especificada.

Sintaxe

PKDEVICE_QUEUE_ENTRY KeRemoveByKeyDeviceQueue(
  [in, out] PKDEVICE_QUEUE DeviceQueue,
  [in]      ULONG          SortKey
);

Parâmetros

[in, out] DeviceQueue

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

[in] SortKey

Especifica a chave a ser usada ao pesquisar o DeviceQueue.

Retornar valor

KeRemoveByKeyDeviceQueue retorna a entrada da fila do dispositivo que foi removida; retornará NULL se a fila estiver vazia.

Comentários

Essa rotina pesquisa a primeira entrada na fila do dispositivo que tem um valor maior ou igual ao SortKey. Depois que essa entrada é encontrada, essa rotina remove a entrada da fila do dispositivo e a retorna. Se nenhuma entrada desse tipo for encontrada, a primeira entrada na fila será retornada. Se a fila do dispositivo estiver vazia, o dispositivo será definido como um estado não ocupado e um ponteiro NULL será retornado.

É um erro chamar KeRemoveByKeyDeviceQueue quando o objeto de fila do dispositivo é 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 de DDI HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

Confira também

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue