Fungsi NdisAllocateNetBufferList (ndis/nblapi.h)

Panggil fungsi NdisAllocateNetBufferList untuk mengalokasikan dan menginisialisasi struktur NET_BUFFER_LIST dari kumpulan struktur NET_BUFFER_LIST.

Sintaks

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateNetBufferList(
  [in] NDIS_HANDLE PoolHandle,
  [in] USHORT      ContextSize,
  [in] USHORT      ContextBackFill
);

Parameter

[in] PoolHandle

Handel kumpulan struktur NET_BUFFER_LIST yang sebelumnya dikembalikan dari panggilan ke NdisAllocateNetBufferListPool.

[in] ContextSize

Jumlah ruang data yang digunakan dalam struktur NET_BUFFER_LIST_CONTEXT untuk dicadangkan bagi pemanggil. ContextSize harus berupa kelipatan nilai yang ditentukan oleh MEMORY_ALLOCATION_ALIGNMENT.

[in] ContextBackFill

Jumlah ruang data yang tidak digunakan (ruang isi ulang) yang diperlukan pemanggil. NDIS menambahkan nilai ini ke ContextSize dan mengalokasikan ruang tambahan. ContextBackFill harus berupa kelipatan nilai yang ditentukan oleh MEMORY_ALLOCATION_ALIGNMENT.

Mengembalikan nilai

NdisAllocateNetBufferList mengembalikan pointer ke struktur NET_BUFFER_LIST yang dialokasikan. Jika alokasi tidak berhasil, pointer ini adalah NULL.

Keterangan

Anda dapat memanggil NdisAllocateNetBufferList atau NdisAllocateNetBufferAndNetBufferList berfungsi untuk mengalokasikan struktur NET_BUFFER_LIST dari kumpulan.

PerhatikanNET_BUFFER dan struktur NET_BUFFER_LIST harus dialokasikan dari kumpulan buffer NDIS. Driver tidak boleh mengalokasikan dan menginisialisasi struktur NET_BUFFER_LIST atau NET_BUFFER dari kumpulan memori privat atau tumpukannya.
 
Jika Anda memanggil NdisAllocateNetBufferList dan kumpulan struktur NET_BUFFER_LIST dialokasikan dengan memanggil Fungsi NdisAllocateNetBufferListPool dengan anggota fAllocateNetBuffer dari struktur NET_BUFFER_LIST_POOL_PARAMETERS diatur ke TRUE, NDIS mengalokasikan NET_BUFFER_LIST, NET_BUFFER, MDL, dan data.

Panggil fungsi NdisFreeNetBufferList untuk membebaskan struktur NET_BUFFER_LIST.

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), NdisAllocateNetBufferList2(ndis), NdisAllocateNetBufferList2_InitFail(ndis)

Lihat juga

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

NdisFreeNetBufferList