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) |