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


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

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

Синтаксис

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

Параметры

[in, out] DeviceQueue

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

[in] SortKey

Указывает ключ, используемый при поиске DeviceQueue.

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

KeRemoveByKeyDeviceQueue возвращает запись очереди устройства, удаленную; возвращает значение NULL, если очередь пуста.

Замечания

Эта подпрограмма выполняет поиск первой записи в очереди устройства, которая имеет значение больше или равно SortKey. После обнаружения этой записи эта подпрограмма удаляет запись из очереди устройства и возвращает ее. Если такая запись не найдена, возвращается первая запись в очереди. Если очередь устройства пуста, устройство имеет состояние "не занято", а указатель null возвращается.

Это ошибка вызова KeRemoveByKeyDeviceQueue, если для объекта очереди устройства задано состояние "не занято".

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с 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)

См. также

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue