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 true

言论

IRQL 设置为DISPATCH_LEVEL,并获取 DeviceQueue 旋转锁。

如果指定的 DeviceQueueEntry 不在队列中,则 IRP 要么已被处理,要么已取消 IRP。 在本例中,KeRemoveEntryDeviceQueue 仅返回 FALSE

指定的 DeviceQueue 旋转锁释放,IRQL 将还原到其以前的值。

要求

要求 价值
最低支持的客户端 从 Windows 2000 开始可用。
目标平台 普遍
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 HwStorPortProhibitedDIs(storport)IrqlKeDispatchLte(wdm)

另请参阅

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveByKeyDeviceQueue

KeRemoveDeviceQueue