ExInterlockedPushEntrySList 巨集 (wdm.h)
ExInterlockedPushEntrySList 例程會在循序單選連結清單的開頭以不可部分完成的方式插入專案。
語法
NTKERNELAPI
PSLIST_ENTRY
FASTCALL
ExInterlockedPushEntrySList (
_Inout_ PSLIST_HEADER ListHead,
_Inout_ __drv_aliasesMem PSLIST_ENTRY ListEntry,
_Inout_opt_ _Requires_lock_not_held_(*_Curr_) PKSPIN_LOCK Lock
);
參數
ListHead
SLIST_HEADER 結構的指標,做為循序單序連結清單的標頭。 ListHead 必須藉由 呼叫 exInitializeSListHead來初始化。
ListEntry
要插入之呼叫端配置專案的指標。
[in, out] Lock
KSPIN_LOCK 結構的指標,做為用來同步處理清單存取權的微調鎖定。 微調鎖定的記憶體必須是常駐的,而且必須透過呼叫keInitializeSpinLock 初始化。 您必須將此微調鎖定只與 ExInterlockedXxxList 例程搭配使用。
傳回值
如果指定清單上有專案,ExInterlockedPushEntrySList 會傳回清單上第一個 SLIST_ENTRY 結構的指標;否則會傳回 NULL。
言論
如需使用此例程來實作循序單一連結清單的詳細資訊,請參閱 Singly 和 Doubly 連結清單。
在 Windows 2000 上,驅動程式必須使用 -D_WIN2K_COMPAT_SLIST_USAGE 參數,才能成功連結使用 ExInterlockedPushEntrySList的程式代碼。
ExInterlockedPushEntrySList 例程可以在任何 IRQL 呼叫。 ListHead 參數的記憶體,而且清單專案必須位於所有 IRCL。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平臺 | 普遍 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何層級 (請參閱一節) |