Fungsi NdisAdvanceNetBufferDataStart (ndis/nblapi.h)
Panggil fungsi NdisAdvanceNetBufferDataStart untuk merilis ruang data yang digunakan yang ditambahkan dengan Fungsi NdisRetreatNetBufferDataStart .
Sintaks
NDIS_EXPORTED_ROUTINE VOID NdisAdvanceNetBufferDataStart(
[in] NET_BUFFER *NetBuffer,
[in] ULONG DataOffsetDelta,
[in] BOOLEAN FreeMdl,
[in, optional] NET_BUFFER_FREE_MDL *FreeMdlHandler
);
Parameter
[in] NetBuffer
Penunjuk ke struktur NET_BUFFER yang dialokasikan sebelumnya.
[in] DataOffsetDelta
Jumlah ruang data yang digunakan untuk dilepaskan. NDIS menyesuaikan nilai anggota DataOffset dari struktur NET_BUFFER yang sesuai.
[in] FreeMdl
Nilai BOOLEAN yang, jika TRUE, meminta NDIS untuk membebaskan MDL apa pun yang menjadi tidak digunakan dalam operasi sebelumnya. Jika FreeMdlFALSE, NDIS mempertahankan MDL yang tidak digunakan untuk digunakan dalam operasi mundur berikutnya.
[in, optional] FreeMdlHandler
Titik masuk opsional untuk fungsi NetFreeMdl . Jika pemanggil menentukan titik masuk untuk fungsi NetFreeMdl , NDIS memanggil NetFreeMdl untuk membebaskan MDL dan memori.
Nilai kembali
Tidak ada
Keterangan
Jika NDIS mengalokasikan memori untuk memenuhi panggilan yang sesuai ke Fungsi NdisRetreatNetBufferDataStart , lalu NdisAdvanceNetBufferDataStart membebaskan memori yang dialokasikan NdisRetreatNetBufferDataStart . Jika tidak, memori tetap berada di MDL dan hanya nilai anggota DataOffset dari struktur NET_BUFFER yang dimodifikasi.
NDIS memanggil fungsi NetFreeMdl yang ditentukan di FreeMdl jika NdisAdvanceNetBufferDataStart harus membebaskan memori. NDIS memanggil NetFreeMdl hanya untuk membebaskan MDL dan memori yang dialokasikan driver dalam fungsi NetAllocateMdl .
Ketika driver protokol memanggil NdisAdvanceNetBufferDataStart pada jalur terima untuk mengakses berbagai header transportasi, rantai MDL tidak boleh dimodifikasi dan FreeMdlFALSE.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.0 dan yang lebih baru. |
Target Platform | Universal |
Header | ndis/nblapi.h (sertakan ndis.h) |
Pustaka | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Aturan kepatuhan DDI | Irql_NetBuffer_Function(ndis) |