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) |