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