Makro NdisInitializeSListHead (ndis.h)

Fungsi NdisInitializeSListHead menginisialisasi kepala daftar tertaut yang berurutan, saling bertautan.

Sintaks

void NdisInitializeSListHead(
  [in]  SListHead
);

Parameter

[in] SListHead

Penunjuk ke kepala daftar yang disediakan pemanggil yang akan diinisialisasi, yang harus berada dalam memori residen. Struktur harus selaras 16 byte pada platform 64-bit.

Nilai kembali

Tidak ada

Keterangan

NdisInitializeSListHead menginisialisasi kepala daftar buram di SListHead dan mengatur penunjuk entri pertama ke NULL.

Nomor urut dalam S-List bertahap setiap kali entri disisipkan ke, atau dihapus dari daftar.

Semua entri dalam Daftar-S harus tidak disebarkan.

Setiap driver yang menggunakan S-List harus menyediakan kunci putar ke NdisInterlockedPushEntrySList dan Fungsi NdisInterlockedPopEntrySList . Sebelum panggilan awalnya ke salah satu fungsi ini, driver harus menginisialisasi kunci putar dengan fungsi NdisAllocateSpinLock . Untuk mencegah kebuntuan, driver tidak boleh menahan kunci putar ini ketika melakukan panggilan berikutnya ke NdisInterlockedPushEntrySList dan NdisInterlockedPopEntrySList.

Untuk mengelola kumpulan entri ukuran tetap dari memori yang tidak di-halaman, pertimbangkan untuk menggunakan daftar lookaside alih-alih S-List.

Driver yang mencoba kembali operasi I/O harus menggunakan antrean interlock tertaut doubly dan fungsi NdisInterlockedInsertHeadList, NdisInterlockedInsertTailList, dan NdisInterlockedRemoveHeadList , bukan S-List.

Jika NdisInitializeSListHead dipanggil di IRQL >= DISPATCH_LEVEL, penyimpanan untuk parameter SListHead harus residen.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung untuk driver NDIS 6.0 dan NDIS 5.1 (lihat NdisInitializeSListHead (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat NdisInitializeSListHead (NDIS 5.1)) di Windows XP.
Target Platform Desktop
Header ndis.h (termasuk Ndis.h)
IRQL Tingkat apa pun

Lihat juga

NdisInitializeNPagedLookasideList

NdisInterlockedPopEntrySList

NdisInterlockedPushEntrySList

NdisQueryDepthSList

NdisQueueIoWorkItem