共用方式為


exInterlockedPushEntryList 函式 (wdm.h)

ExInterlockedPushEntryList 例程會以不可部分完成的方式,將專案插入SINGLE_LIST_ENTRY結構的單一連結清單開頭。

語法

PSINGLE_LIST_ENTRY ExInterlockedPushEntryList(
  [in, out] PSINGLE_LIST_ENTRY                  ListHead,
  [in, out] __drv_aliasesMem PSINGLE_LIST_ENTRY ListEntry,
  [in, out] PKSPIN_LOCK                         Lock
);

參數

[in, out] ListHead

做為清單標頭 之SINGLE_LIST_ENTRY 結構的指標。 ListHead 的記憶體必須位於所有 IRQL。

[in, out] ListEntry

SINGLE_LIST_ENTRY 結構的指標,表示要插入清單的專案。 ListEntry 的記憶體必須位於所有 IRQL。

[in, out] Lock

KSPIN_LOCK 結構的指標,做為用來同步處理清單存取權的微調鎖定。 微調鎖定的記憶體必須固定,而且必須已藉由呼叫 KeInitializeSpinLock 來初始化。 您只能搭配 ExInterlockedXxx 清單 例程使用此微調鎖定。

傳回值

ExInterlockedPushEntryList 會在插入新專案 之前 ,傳回清單第一個專案的指標。 如果清單是空的,例程會傳回 NULL

備註

ExInterlockedPushEntryList 會執行與 PushEntryList 相同的作業,但以不可部分完成的方式執行。 請勿在相同的清單上混合不可部分完成和非不可部分完成的呼叫。

如需使用此例程來實作單一鏈接清單的詳細資訊,請參閱 Singly 和 Doubly Linked 清單

您可以在任何 IRQL 呼叫 ExInterlockedPushEntryList 例程。 ListHead 參數和列表專案的記憶體必須位於所有 IRQLs。

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 任何層級 (請參閱一節)
DDI 合規性規則 IoAllocateFree (wdm) IoReuseIrp (wdm ) 、MarkInterlockedQueuedIrps (wdm ) 、 RemoveLockCheck (wdm ) 、 RemoveLockForward (wdm) 、 RemoveLockForward2 (wdm) (RemoveLockForwardDeviceControl (wdm) RemoveLockForwardDeviceControl2 (wdm ) 、RemoveLockForwardDeviceControlInternal (wdm) RemoveLockForwardDeviceControlInternal2 (wdm) RemoveLockForwardRead (wdm) RemoveLockForwardRead2 (wdm ) 、RemoveLockForwardWrite (wdm) RemoveLockForwardWrite2 (wdm) RemoveLockRelease2 (wdm () 、RemoveLockReleaseCleanup (wdm) RemoveLockReleaseClose (wdm ) 、RemoveLockReleaseCreate (wdm) RemoveLockReleaseDeviceControl (wdm) RemoveLockReleaseInternalDeviceControl (wdm) RemoveLockReleasePower (wdm) RemoveLockReleaseRead (wdm) RemoveLockReleaseShutdown (wdm) RemoveLockReleaseSystemControl (wdm) RemoveLockReleaseWrite (wdm)

另請參閱

ExInitializeSListHead

ExInterlockedInsertTailList

ExInterlockedPopEntryList

ExInterlockedPushEntrySList

KeInitializeSpinLock

PushEntryList