Bagikan melalui


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

MiniportInterruptDPC

NDIS Menyebar/Mengumpulkan DMA

NET_BUFFER

NdisMAllocateNetBufferSGList

NdismRegisterScatterGatherDma