Makro NdisInterlockedPushEntrySList (ndis.h)

Fungsi NdisInterlockedPushEntrySList menyisipkan entri di kepala daftar yang ditautkan secara berurutan.

Sintaks

void NdisInterlockedPushEntrySList(
        SListHead,
        SListEntry,
  [in]  Lock
);

Parameter

SListHead

Penunjuk ke kepala daftar berurutan yang sudah diinisialisasi, yang ditautkan secara senyap tempat entri yang ditentukan akan disisipkan.

SListEntry

Penunjuk ke entri yang akan disisipkan.

[in] Lock

Penunjuk ke kunci putar yang disediakan penelepon, saat ini tidak dipegang oleh pemanggil.

Nilai kembali

Tidak ada

Keterangan

Sebelum awal driver memanggil fungsi NdisInterlockedPushEntrySList , driver harus menginisialisasi kepala daftar dengan Fungsi NdisInitializeSListHead .

Driver tidak boleh memegang Kunci yang diberikan saat memanggil NdisInterlockedPushEntrySList. Jika perlu, driver harus memanggil fungsi NdisReleaseSpinLock sebelum memanggil NdisInterlockedPushEntrySList. NdisInterlockedPushEntrySList harus memperoleh kunci ini sendiri sebelum menyisipkan ListEntry di kepala daftar untuk memastikan bahwa operasi ini ditangani dengan cara multiprosedur aman.

Pemanggil harus menyediakan penyimpanan residen untuk Kunci, yang harus diinisialisasi dengan fungsi NdisAllocateSpinLock sebelum panggilan awal ke NdisInterlocked.. Rutinitas SList .

Driver yang mencoba kembali operasi I/O harus menggunakan antrean yang ditautkan bergantian dan NdisInterlockedInsert/Remove.. Mencantumkan fungsi, bukan S-List.

Jika NdisInterlockedPushEntrySList dipanggil di IRQL >= DISPATCH_LEVEL, penyimpanan untuk parameter ListHead dan entri daftar harus penduduk

Persyaratan

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

Lihat juga

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPopEntrySList

NdisQueryDepthSList

NdisReleaseSpinLock