Fungsi RemoveEntryList (wdm.h)

Rutinitas RemoveEntryList menghapus entri dari daftar struktur LIST_ENTRY yang ditautkan dua kali lipat.

Sintaks

BOOLEAN RemoveEntryList(
  [in] PLIST_ENTRY Entry
);

Parameter

[in] Entry

Penunjuk ke struktur LIST_ENTRY yang mewakili entri yang akan dihapus.

Nilai kembali

RemoveEntryList mengembalikan TRUE jika, setelah penghapusan entri yang ditunjuk, daftar kosong. Jika tidak, rutinitas mengembalikan FALSE untuk menunjukkan bahwa daftar yang dihasilkan masih berisi satu atau beberapa entri. Untuk informasi, lihat bagian Keterangan di bawah ini.

Keterangan

RemoveEntryList menghapus entri dengan mengatur anggota Flink entri sebelum Entri untuk menunjuk ke entri setelah Entri, dan anggota Blink entri setelah Entri untuk menunjuk ke entri sebelum Entri.

Nilai yang dikembalikan dapat digunakan untuk mendeteksi kapan entri terakhir dihapus dari daftar. Daftar kosong hanya terdiri dari kepala daftar dan tidak ada entri daftar.

Biasanya, Entri menunjuk ke entri dalam daftar dan bukan ke kepala daftar. Namun, Entri dapat menunjuk ke kepala daftar, dalam hal ini rutin menghapus kepala daftar dari daftar untuk menghasilkan daftar tanpa kepala. Ketika RemoveEntryList digunakan dengan cara ini, nilai yang dikembalikan biasanya harus diabaikan. Untuk menentukan apakah daftar kosong, gunakan rutinitas IsListEmpty .

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

Pemanggil RemoveEntryList dapat berjalan di IRQL apa pun. Jika RemoveEntryList dipanggil di IRQL >= DISPATCH_LEVEL, penyimpanan untuk entri daftar harus residen.

Persyaratan

Persyaratan Nilai
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 DoubleExFreePool(storport)

Lihat juga

InitializeListHead

IsListEmpty

RemoveHeadList

RemoveTailList