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) |