Поделиться через


Функция KeRemoveEntryDeviceQueue (wdm.h)

Подпрограмма KeRemoveEntryDeviceQueue возвращает, находится ли указанная запись в очереди устройства и удаляет ее, если она была включена в очередь устройства.

Синтаксис

BOOLEAN KeRemoveEntryDeviceQueue(
  [in, out] PKDEVICE_QUEUE       DeviceQueue,
  [in, out] PKDEVICE_QUEUE_ENTRY DeviceQueueEntry
);

Параметры

[in, out] DeviceQueue

Указатель на инициализированный объект очереди устройства, для которого вызывающий объект предоставляет хранилище.

[in, out] DeviceQueueEntry

Указатель на запись, удаленную из указанного DeviceQueue.

Возвращаемое значение

Если DeviceQueueEntry помещается в очередь, удаляется и KeRemoveEntryDeviceQueue возвращает TRUE.

Замечания

Для IRQL задано значение DISPATCH_LEVEL, а deviceQueue блокировка спина приобретается.

Если указанный DeviceQueueEntry не находится в очереди, то IRP либо уже обрабатывается, либо IRP был отменен. В этом случае KeRemoveEntryDeviceQueue просто возвращает FALSE.

Указанная deviceQueue блокировка спина освобождается, и IRQL восстанавливается до предыдущего значения.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 2000.
целевая платформа Всеобщий
заголовка wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
правил соответствия DDI HwStorPortProhibitedDIs(storport), IrqlKeDispatchLte(wdm)

См. также

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveByKeyDeviceQueue

KeRemoveDeviceQueue