Fungsi RemoveHeadList (wdm.h)

Rutinitas RemoveHeadList menghapus entri dari awal daftar struktur LIST_ENTRY yang ditautkan ganda.

Sintaks

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

Parameter

[in, out] ListHead

Arahkan ke struktur LIST_ENTRY yang berfungsi sebagai header daftar.

Nilai kembali

RemoveHeadList mengembalikan penunjuk ke entri yang dihapus dari daftar. Jika daftar kosong, RemoveHeadList mengembalikan ListHead.

Keterangan

RemoveHeadList menghapus entri pertama dari daftar dengan mengatur ListHead-Flink> untuk menunjuk ke entri kedua dalam daftar. Rutin mengatur anggota Blink dari entri kedua ke ListHead. Jika daftar kosong, ini secara efektif merupakan no-op.

Untuk informasi tentang menggunakan rutinitas ini saat menerapkan daftar tertaut doubly, lihat Lists Tertaut Singly dan Doubly.

Penelepon RemoveHeadList dapat berjalan di IRQL apa pun. Jika RemoveHeadList dipanggil di IRQL >= DISPATCH_LEVEL, penyimpanan untuk ListHead dan entri daftar harus residen.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Desktop
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)
IRQL Tingkat apa pun (Lihat bagian Keterangan)
Aturan kepatuhan DDI CancelSpinLock(wdm), CompleteRequest(wdm), DoubleCompletion(wdm), DoubleExFreePool(storport), Init_NdisAllocateIoWorkItem(ndis), InvalidReqAccessLocal(kmdf), IoAllocateFree(wdm), IoReuseIrp(wdm), IrpProcessingComplete(wdm), MarkingInterlockedQueuedIrps(wdm), MarkingQueuedIrps(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)

Lihat juga

ExInterlockedRemoveHeadList

InitializeListHead

IsListEmpty

RemoveEntryList

RemoveTailList