Функция 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 (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
Правила соответствия DDI HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm)

См. также раздел

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue