共用方式為


removeHeadList 函式 (wdm.h)

RemoveHeadList 例程會從LIST_ENTRY結構的兩次鏈接清單開頭移除專案。

語法

PLIST_ENTRY RemoveHeadList(
  [in, out] PLIST_ENTRY ListHead
);

參數

[in, out] ListHead

做為清單標頭之 LIST_ENTRY 結構的指標。

傳回值

RemoveHeadList 會傳回從清單中移除之專案的指標。 如果清單是空的, RemoveHeadList 會傳回 ListHead

備註

RemoveHeadList 藉由將 ListHead-Flink> 設定為指向清單中的第二個專案,從清單中移除第一個專案。 例程會將第二個專案的 Blink 成員設定為 ListHead。 如果清單是空的,這實際上是無作業。

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

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

規格需求

需求
最低支援的用戶端 從 Windows 2000 開始提供。
目標平台 桌面
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Wudfwdm.h)
IRQL 任何層級 (請參閱一節)
DDI 合規性規則 CancelSpinLock (wdm) CompleteRequest (wdm ) 、 DoubleCompletion (wdm ) 、 DoubleExFreePool (storport) Init_NdisAllocateIoWorkItem (ndis ) 、 InvalidReqAccessLocal (km) df) ) IoAllocateFree (wdm) IoReuseIrp (wdm ) 、IrpProcessingComplete (wdm) MarkInterlockedQueuedIrps (wdm ) 、MarkQueuedIrps (wdm) MarkIrpPending (wdm) MarkIrpPending2 (wdm ) 、 PendedCompletedRequest (wdm) PendedCompletedRequest2 (wdm) PendedCompletedRequest3 (wdm) PendedCompletedRequestEx (wdm ) 、RemoveLock (wdm ) 、RemoveLockCheck (wdm) RemoveLockForward (wdm) RemoveLockForward2 (wdm) RemoveLockForwardDeviceControl (wdm) RemoveLockForwardDeviceControl2 (wdm) RemoveLockForwardDeviceControlInternal (wdm) RemoveLockForwardDeviceControlInternal2 (wdm) 、RemoveLockForwardRead (wdm) RemoveLockForwardRead2 (wdm ) 、RemoveLockForwardWrite (wdm ) 、RemoveLockForwardWrite2 (wdm ) 、RemoveLockMnRemove (wdm) RemoveLockMnSurpriseRemove (wdm) RemoveLockRelease2 (wdm ) 、 RemoveLockReleaseCleanup (wdm) RemoveLockReleaseClose (wdm) RemoveLockReleaseCreate (wdm) RemoveLockReleaseDeviceControl (wdm) RemoveLockReleaseInternalDeviceControl (wdm ) 、RemoveLockReleasePnp (wdm ) 、RemoveLockReleasePower (wdm) RemoveLockReleaseRead (wdm) RemoveLockReleaseShutdown (wdm) RemoveLockReleaseSystemControl (wdm ) 、 RemoveLockReleaseWrite (wdm)

另請參閱

ExInterlockedRemoveHeadList

InitializeListHead

IsListEmpty

RemoveEntryList

RemoveTailList