Функция 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) |