共用方式為


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 來初始化。 您只能搭配 ExInterlockedXxx 清單 例程使用此微調鎖定。

傳回值

如果指定清單上有專案, ExInterlockedPushEntrySList 會傳回清單上專案之第一個 SLIST_ENTRY 結構的指標;否則會傳回 NULL。

備註

如需使用此例程實作循序連結清單的詳細資訊,請參閱 Singly 和 Doubly Linked 清單

在 Windows 2000 上,驅動程式必須使用 -D_WIN2K_COMPAT_SLIST_USAGE 參數成功連結使用 ExInterlockedPushEntrySList 的程式代碼。

任何 IRQL 都可以呼叫 ExInterlockedPushEntrySList 例程。 ListHead 參數和清單專案的記憶體必須位於所有 IRCL。

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 任何層級 (請參閱一節)

另請參閱

ExInitializeSListHead

ExInterlockedInsertTailList

ExInterlockedPopEntrySList

ExQueryDepthSList

KeInitializeSpinLock