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)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) IrqlDispatch (storport) 、IrqlDispatch (storport) 、 IrqlDispatch (wdm)

另请参阅

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue