Функция KeRemoveDeviceQueue (wdm.h)
Подпрограмма KeRemoveDeviceQueue удаляет запись из головы указанной очереди устройства.
Синтаксис
PKDEVICE_QUEUE_ENTRY KeRemoveDeviceQueue(
[in, out] PKDEVICE_QUEUE DeviceQueue
);
Параметры
[in, out] DeviceQueue
Указатель на инициализированный объект очереди устройства, для которого вызывающий объект предоставляет хранилище.
Возвращаемое значение
Если очередь устройства пуста, но настроена на занятое состояние, KeRemoveDeviceQueue возвращает NULL.
Замечания
Получена указанная блокировка очереди устройства и проверяется состояние очереди устройства. Если для очереди устройства задано состояние занятости, и IRP помещается в очередь, эта подпрограмма отменяет запись и возвращает указатель на IRP. Вызов KeRemoveDeviceQueue когда объект очереди устройства установлен в состояние занятости, но при отсутствии запросов irPs в очереди состояние не занято. Выпущена блокировка спина указанной очереди устройства.
Это ошибка вызова KeRemoveDeviceQueue, если для объекта очереди устройства задано состояние "не занято".
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 2000. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |
правил соответствия DDI | HwStorPortProhibitedDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm) |