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(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) IrqlKeDispatchLte (wdm)

另请参阅

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveByKeyDeviceQueue

KeRemoveDeviceQueue