KeRemoveDeviceQueue 函式 (wdm.h)
KeRemoveDeviceQueue 例程會從指定裝置佇列的前端移除專案。
語法
PKDEVICE_QUEUE_ENTRY KeRemoveDeviceQueue(
[in, out] PKDEVICE_QUEUE DeviceQueue
);
參數
[in, out] DeviceQueue
呼叫端為其提供記憶體之初始化裝置佇列物件的指標。
傳回值
如果裝置佇列是空的,但設定為忙碌狀態, KeRemoveDeviceQueue 會傳回 NULL。
備註
取得指定的裝置佇列微調鎖定,並檢查裝置佇列的狀態。 如果裝置佇列設定為忙碌狀態,且 IRP 已排入佇列,此例程會清除專案佇列,並傳回 IRP 的指標。 當裝置佇列物件設定為忙碌狀態,但未將 IRP 排入佇列時, KeRemoveDeviceQueue 的呼叫會導致狀態變更為不忙碌。 指定的裝置佇列微調鎖定已釋放。
當裝置佇列物件設定為不忙碌狀態時,呼叫 KeRemoveDeviceQueue 是錯誤。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDDIs (storport) 、 IrqlDispatch (storport) 、IrqlDispatch (storport) 、 IrqlDispatch (wdm) |