Fungsi NdisMFreeNetBufferSGList (ndis.h)
Perhatian
Untuk prosesor ARM dan ARM64, kami sangat menyarankan agar penulis driver NDIS menggunakan WDF DMA atau WDM DMA alih-alih NDIS Scatter/Gather DMA.
Untuk informasi selengkapnya tentang WDF DMA, lihat Menangani Operasi DMA di Driver KMDF.
Untuk informasi selengkapnya tentang WDM DMA, lihat topik anak terkait DMA dari Mengelola Input/Output untuk Driver.
Driver miniport master bus memanggil fungsi NdisMFreeNetBufferSGList untuk membebaskan sumber daya daftar sebar/kumpulkan yang dialokasikan dengan memanggil Fungsi NdisMAllocateNetBufferSGList .
Sintaks
void NdisMFreeNetBufferSGList(
[in] NDIS_HANDLE NdisMiniportDmaHandle,
[in] PSCATTER_GATHER_LIST pSGL,
[in] PNET_BUFFER NetBuffer
);
Parameter
[in] NdisMiniportDmaHandle
Handel ke area konteks yang digunakan NDIS untuk mengelola sumber daya DMA. Pemanggil memperoleh handel ini dengan memanggil Fungsi NdisMRegisterScatterGatherDma .
[in] pSGL
Penunjuk ke driver miniport menyebar/mengumpulkan buffer daftar.
[in] NetBuffer
Penunjuk ke struktur NET_BUFFER yang terkait dengan buffer daftar sebar/kumpulkan yang ditentukan.
Menampilkan nilai
Tidak ada
Keterangan
Driver miniport master bus harus memanggil fungsi NdisMFreeNetBufferSGList untuk membebaskan daftar sebar/kumpulkan. Driver miniport biasanya memanggil NdisMFreeNetBufferSGList dari fungsi MiniportInterruptDPC saat menangani interupsi pengiriman lengkap atau kapan saja driver tidak lagi memerlukan daftar sebar/kumpulkan. Jangan panggil NdisMFreeNetBufferSGList saat driver atau perangkat keras masih mengakses memori yang dijelaskan oleh struktur NET_BUFFER yang terkait dengan daftar sebar/kumpulkan.
Driver Miniport dapat membebaskan buffer yang ditentukan dalam parameter ScatterGatherListBuffer dari fungsi NdisMAllocateNetBufferSGList setelah NdisMFreeNetBufferSGList kembali.
Sebelum mengakses data yang diterima, driver miniport harus memanggil NdisMFreeNetBufferSGList untuk membersihkan cache memori.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.0 dan yang lebih baru. |
Target Platform | Universal |
Header | ndis.h (termasuk Ndis.h) |
Pustaka | Ndis.lib |
IRQL | DISPATCH_LEVEL |
Aturan kepatuhan DDI | Irql_Gather_DMA_Function(ndis) |
Lihat juga
NDIS Menyebar/Mengumpulkan DMA
NdismRegisterScatterGatherDma