Bagikan melalui


struktur NET_BUFFER_LIST_POOL_PARAMETERS (ndis/nblapi.h)

Struktur NET_BUFFER_LIST_POOL_PARAMETERS mendefinisikan parameter untuk kumpulan struktur NET_BUFFER_LIST .

Sintaks

typedef struct _NET_BUFFER_LIST_POOL_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  UCHAR              ProtocolId;
  BOOLEAN            fAllocateNetBuffer;
  USHORT             ContextSize;
  ULONG              PoolTag;
  ULONG              DataSize;
  ULONG              Flags;
} NET_BUFFER_LIST_POOL_PARAMETERS, *PNET_BUFFER_LIST_POOL_PARAMETERS;

Anggota

Header

Jenis, revisi, dan ukuran struktur NET_BUFFER_LIST_POOL_PARAMETERS . Anggota ini diformat sebagai struktur NDIS_OBJECT_HEADER .

Driver miniport harus mengatur anggota JenisHeader ke NDIS_OBJECT_TYPE_DEFAULT. Untuk menentukan versi struktur NET_BUFFER_LIST_POOL_PARAMETERS , driver harus mengatur anggota RevisiHeader ke nilai berikut:

NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1

Versi asli untuk NDIS 6.0.

Atur anggota Ukuran ke NDIS_SIZEOF_NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1.

ProtocolId

Jenis penelepon. Miniport, filter, dan driver menengah mengatur bidang ini ke nol (NDIS_PROTOCOL_ID_DEFAULT). Driver protokol menggunakan salah satu nilai berikut:

NDIS_PROTOCOL_ID_DEFAULT

Menentukan pengidentifikasi driver protokol default.

NDIS_PROTOCOL_ID_TCP_IP

Menentukan protokol TCP/IP.

NDIS_PROTOCOL_ID_IPX

Menentukan protokol IPX.

NDIS_PROTOCOL_ID_NBF

Menentukan protokol NetBEUI.

fAllocateNetBuffer

Jika anggota ini diatur ke TRUE, NDIS mengalokasikan kumpulan struktur NET_BUFFER_LIST . Setiap struktur NET_BUFFER_LIST yang dialokasikan diinisialisasi dengan satu struktur NET_BUFFER .

Jika anggota ini diatur ke FALSE, NDIS mengalokasikan kumpulan struktur NET_BUFFER_LIST . Setiap struktur NET_BUFFER_LIST yang dialokasikan tidak diinisialisasi untuk berisi struktur NET_BUFFER apa pun.

Untuk informasi lebih lanjut, lihat bagian Keterangan.

ContextSize

Ukuran, dalam byte, dari data struktur NET_BUFFER_LIST_CONTEXT yang telah dialokasikan sebelumnya yang harus disediakan NDIS untuk struktur NET_BUFFER_LIST di kumpulan ini. ContextSize harus berupa kelipatan nilai yang ditentukan oleh MEMORY_ALLOCATION_ALIGNMENT.

PoolTag

Tag kumpulan kernel yang digunakan pemanggil saat mengalokasikan struktur NET_BUFFER_LIST dari kumpulan ini. Tag adalah string, dibatasi oleh tanda kutip tunggal, dengan hingga empat karakter, biasanya ditentukan dalam urutan terbalik. Tag kumpulan kernel membantu NDIS mengidentifikasi pemilik struktur NET_BUFFER_LIST yang dialokasikan dari kumpulan ini.

DataSize

Ukuran data default, dalam byte, untuk buffer data yang terkait dengan kumpulan NET_BUFFER_LIST ini, jika ada. NDIS menggunakan nilai ini untuk mengatur ukuran buffer data apa pun yang dialokasikannya untuk struktur NET_BUFFER terkait.

Untuk informasi lebih lanjut, lihat bagian Keterangan.

Flags

Bendera berikut didefinisikan:

NET_BUFFER_LIST_POOL_FLAG_VERIFY 0x00000001

Jika bendera ini diatur, NDIS tidak akan segera menggunakan kembali NET_BUFFER_LISTs dari kumpulan ini. Sebaliknya, alokasi akan ditandai sebagai tanpa akses ketika dibebaskan sehingga driver dapat mendeteksi bug yang digunakan setelah bebas.

Keterangan

Jika fAllocateNetBuffer diatur ke FALSE, NDIS tidak akan mengalokasikan struktur NET_BUFFER , dan DataSize harus diatur ke nol.

Jika DataSize bukan nol, fAllocateNetBuffer harus diatur ke TRUE. Hal ini menyebabkan NDIS mengalokasikan struktur NET_BUFFER dengan buffer data dengan ukuran yang ditentukan.

Jika DataSize adalah nol dan fAllocateNetBufferTRUE, NDIS mengalokasikan struktur NET_BUFFER tetapi bukan buffer data.

Parameter Parameter fungsi NdisAllocateNetBufferListPool berisi penunjuk ke struktur NET_BUFFER_LIST_POOL_PARAMETERS.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Header ndis/nblapi.h (sertakan ndis.h)

Lihat juga

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_DATA

NdisAllocateNetBufferListPool