exInterlockedPopEntryList 函式 (wdm.h)
ExInterlockedPopEntryList 例程會以不可部分完成的方式從SINGLE_LIST_ENTRY結構之單一鏈接清單的開頭移除專案。
語法
PSINGLE_LIST_ENTRY ExInterlockedPopEntryList(
[in, out] PSINGLE_LIST_ENTRY ListHead,
[in, out] PKSPIN_LOCK Lock
);
參數
[in, out] ListHead
做為清單標頭 之SINGLE_LIST_ENTRY 結構的指標。 ListHead 的記憶體必須位於所有 IRQLs。
[in, out] Lock
KSPIN_LOCK結構的指標,做為用來同步存取清單的微調鎖定。 微調鎖定的記憶體必須是固定的,而且必須已藉由呼叫 KeInitializeSpinLock 來初始化。 您只能搭配 ExInterlockedXxx 清單 例程使用此微調鎖定。
傳回值
ExInterlockedPopEntryList 會傳回從清單中移除 SINGLE_LIST_ENTRY 結構的指標。 如果清單是空的,則例程會傳回 NULL。
備註
ExInterlockedPopEntryList 會執行與 PopEntryList 相同的作業,但以不可部分完成的方式執行。 請勿在相同的清單上混合不可部分完成和非不可部分完成的呼叫。
如需使用此例程實作單一鏈接清單的詳細資訊,請參閱 Singly 和 Doubly Linked 清單。
任何 IRQL 都可以呼叫 ExInterlockedPopEntryList 例程。 ListHead 參數的記憶體必須位於所有 IRCL。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | 任何層級 (請參閱一節) |