KeRemoveByKeyDeviceQueue 函式 (wdm.h)

KeRemoveByKeyDeviceQueue 例程會從指定的裝置佇列中移除根據排序索引鍵值選取的專案。

語法

C++
PKDEVICE_QUEUE_ENTRY KeRemoveByKeyDeviceQueue(
  [in, out] PKDEVICE_QUEUE DeviceQueue,
  [in]      ULONG          SortKey
);

參數

[in, out] DeviceQueue

呼叫端提供記憶體之初始化裝置佇列物件的指標。

[in] SortKey

指定搜尋 DeviceQueue時要使用的索引鍵。

傳回值

KeRemoveByKeyDeviceQueue 會傳回已移除的裝置佇列專案;如果佇列是空的,則會傳回 NULL

言論

此例程會搜尋裝置佇列中值大於或等於 SortKey的第一個專案。 找到這個項目之後,此例程會從裝置佇列中移除專案並傳回它。 如果找不到這類專案,則會傳回佇列中的第一個專案。 如果裝置佇列是空的,則裝置會設定為忙碌狀態,並傳回 NULL 指標。

當裝置佇列物件設定為非忙碌狀態時,呼叫 KeRemoveByKeyDeviceQueue 時發生錯誤。

要求

要求 價值
最低支援的用戶端 從 Windows 2000 開始提供。
目標平臺 普遍
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
DDI 合規性規則 HwStorPortProhibitedDIS(storport)IrqlDispatch(storport)、IrqlDispatch(storport)、IrqlDispatch(wdm)

另請參閱

KeInitializeDeviceQueue

KeInsertByKeyDeviceQueue

KeInsertDeviceQueue

KeRemoveDeviceQueue

KeRemoveEntryDeviceQueue