Fungsi NdisAllocateReassembledNetBufferList (ndis/nblapi.h)

Panggil fungsi NdisAllocateReassembledNetBufferList untuk menyusun kembali struktur NET_BUFFER_LIST terfragmentasi.

Sintaks

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateReassembledNetBufferList(
                 NET_BUFFER_LIST *FragmentNetBufferList,
  [in, optional] NDIS_HANDLE     NetBufferAndNetBufferListPoolHandle,
  [in]           ULONG           StartOffset,
  [in]           ULONG           DataOffsetDelta,
  [in]           ULONG           DataBackFill,
  [in]           ULONG           AllocateReassembleFlags
);

Parameter

FragmentNetBufferList

Penunjuk ke struktur NET_BUFFER_LIST untuk disusun kembali.

[in, optional] NetBufferAndNetBufferListPoolHandle

Handel kumpulan struktur NET_BUFFER_LIST yang sebelumnya dikembalikan dari Fungsi NdisAllocateNetBufferListPool . Anggota fAllocateNetBuffer dari struktur NET_BUFFER_LIST_POOL_PARAMETERS yang diteruskan pemanggil ke NdisAllocateNetBufferListPool harus diatur ke TRUE, dan anggota DataSize diatur ke nol. Jika parameter ini NULL, NDIS menggunakan kumpulan internal.

[in] StartOffset

Jumlah data yang akan dilewati di awal setiap struktur NET_BUFFER sumber. Jumlah ini selain nilai yang ditentukan dalam anggota DataOffset dari struktur NET_BUFFER.

[in] DataOffsetDelta

Jumlah byte ruang data yang digunakan untuk ditambahkan dalam struktur NET_BUFFER yang disusun ulang.

[in] DataBackFill

Jika alokasi ruang data yang tidak digunakan (ruang isi ulang) diperlukan, parameter ini menentukan jumlah byte ruang data yang tidak digunakan selain DataOffsetDelta untuk dialokasikan.

[in] AllocateReassembleFlags

Bendera NDIS yang dapat dikombinasikan dengan operasi OR. Atur parameter ini ke nol. Saat ini tidak ada bendera yang ditentukan untuk fungsi ini.

Mengembalikan nilai

Jika operasi rakitan ulang berhasil, NdisAllocateReassembledNetBufferList mengembalikan struktur NET_BUFFER_LIST yang disusun ulang. Jika operasi gagal, operasi akan mengembalikan NULL.

Keterangan

NdisAllocateReassembledNetBufferList mengalokasikan, menginisialisasi, dan mengembalikan struktur NET_BUFFER_LIST baru yang mencakup satu struktur NET_BUFFER dan satu rantai MDL. Struktur NET_BUFFER_LIST baru menjelaskan data yang sama dengan struktur NET_BUFFER_LIST sumber terfragmentasi yang diteruskan driver di FragmentedNetBufferList. Setelah melewati jumlah byte yang ditentukan dalam StartOffset dalam setiap struktur NET_BUFFER terfragmentasi, NDIS menggabungkan data yang tersisa di setiap struktur NET_BUFFER terfragmentasi menjadi satu struktur NET_BUFFER yang disusun ulang. Struktur NET_BUFFER_LIST yang disusun ulang tidak menyertakan awal NET_BUFFER_LIST_CONTEXT struktur.

Memanggil Fungsi NdisFreeReassembledNetBufferList untuk membebaskan struktur NET_BUFFER_LIST yang disusun ulang dan semua struktur NET_BUFFER terkait dan rantai MDL.

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), NdisAllocateReassembledNetBufferList(ndis), NdisAllocateReassembledNetBufferList_InitFail(ndis)

Lihat juga

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList