Fungsi NdisRetreatNetBufferListDataStart (ndis/nblapi.h)

Panggil fungsi NdisRetreatNetBufferListDataStart untuk meningkatkan ruang data yang digunakan di semua struktur NET_BUFFER dalam struktur NET_BUFFER_LIST .

Sintaks

NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferListDataStart(
  [in]           NET_BUFFER_LIST         *NetBufferList,
  [in]           ULONG                   DataOffsetDelta,
  [in]           ULONG                   DataBackFill,
  [in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler,
  [in, optional] NET_BUFFER_FREE_MDL     *FreeMdlHandler
);

Parameter

[in] NetBufferList

Penunjuk ke struktur NET_BUFFER_LIST yang dialokasikan sebelumnya.

[in] DataOffsetDelta

Jumlah ruang data tambahan yang digunakan di setiap struktur NET_BUFFER. Jika tidak ada cukup ruang data yang tidak digunakan untuk memenuhi permintaan, NDIS mengalokasikan lebih banyak memori.

[in] DataBackFill

Jika NDIS harus mengalokasikan memori, parameter ini menentukan jumlah ruang data selain nilai parameter DataOffsetDelta untuk dialokasikan.

[in, optional] AllocateMdlHandler

Titik entri opsional untuk fungsi NetAllocateMdl . Jika pemanggil menentukan titik masuk untuk fungsi NetAllocateMdl , NDIS memanggil NetAllocateMdl untuk mengalokasikan MDL dan memori.

[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

NdisRetreatNetBufferListDataStart mengembalikan salah satu hal berikut ini:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
NdisRetreatNetBufferListDataStart berhasil mengalokasikan ruang data pada semua struktur NET_BUFFER baik dengan mengurangi nilai anggota DataOffset atau dengan mengalokasikan penyimpanan baru.
NDIS_STATUS_RESOURCES
NdisRetreatNetBufferListDataStart gagal karena sumber daya yang tidak mencukupi.
NDIS_STATUS_FAILURE
NdisRetreatNetBufferListDataStart gagal karena alasan selain sumber daya yang tidak mencukupi.

Keterangan

Memanggil NdisRetreatNetBufferListDataStart setara dengan memanggil Fungsi NdisRetreatNetBufferDataStart untuk setiap struktur NET_BUFFER pada struktur NET_BUFFER_LIST . NdisRetreatNetBufferListDataStart mencoba memenuhi permintaan dengan mengurangi nilai anggota DataOffset di setiap struktur NET_BUFFER. Jika tidak tersedia cukup ruang data yang tidak digunakan , fungsi ini mengalokasikan buffer dan MDL baru, lalu menautkan MDL baru ke awal rantai MDL pada struktur NET_BUFFER.

Memanggil Fungsi NdisAdvanceNetBufferListDataStart untuk melepaskan ruang data yang diklaim dalam panggilan NdisRetreatNetBufferListDataStart sebelumnya. Atau, pengemudi dapat memanggil Fungsi NdisAdvanceNetBufferDataStart untuk setiap struktur NET_BUFFER pada struktur NET_BUFFER_LIST. Memanggil NdisAdvanceNetBufferListDataStart lebih efisien.

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)

Lihat juga

NET_BUFFER

NET_BUFFER_LIST

NdisAdvanceNetBufferDataStart NdisAdvanceNetBufferListDataStart NdisRetreatNetBufferDataStart

NetAllocateMdl

NetFreeMdl