共用方式為


insertHeadList 函式 (wdm.h)

InsertHeadList 例程會將專案插入LIST_ENTRY結構的兩個連結清單的前端。

語法

void InsertHeadList(
  [in, out] PLIST_ENTRY                  ListHead,
  [in, out] __drv_aliasesMem PLIST_ENTRY Entry
);

參數

[in, out] ListHead

代表清單前端 之LIST_ENTRY 結構的指標。

[in, out] Entry

LIST_ENTRY 結構的指標,表示要插入清單的專案。

傳回值

備註

InsertHeadList 會更新 ListHead-Flink> 以指向 Entry 它會更新 Entry-Flink> 以指向清單中的舊第一個專案,並將 Entry-Blink> 設定為 ListHead。 原始第一個專案的 Blink 字段也會更新為指向 Entry

如需實作雙連結清單時使用此例程的相關信息,請參閱 Singly 和 Doubly Linked 清單

InsertHeadList 的呼叫端可以在任何 IRQL 上執行。 如果在 IRQL >= DISPATCH_LEVEL呼叫 InsertHeadList則 ListHead 和列表專案的記憶體必須位於內。

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 桌面
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Wudfwdm.h)
IRQL 任何層級 (請參閱一節)
DDI 合規性規則 IoAllocateFree (wdm) IoReuseIrp (wdm ) 、 MarkingQueuedIrps (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)

另請參閱

ExInterlockedInsertHeadList

InitializeListHead

InsertTailList

IsListEmpty

RemoveHeadList

RemoveTailList