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)

另請參閱

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveByKeyDeviceQueue

KeRemoveEntryDeviceQueue