Fungsi NdisAllocateNetBufferPool (ndis/nblapi.h)
Panggil fungsi NdisAllocateNetBufferPool untuk mengalokasikan kumpulan struktur NET_BUFFER .
Sintaks
NDIS_EXPORTED_ROUTINE NDIS_HANDLE NdisAllocateNetBufferPool(
[in, optional] NDIS_HANDLE NdisHandle,
[in] NET_BUFFER_POOL_PARAMETERS const *Parameters
);
Parameter
[in, optional] NdisHandle
Handel NDIS yang diperoleh selama inisialisasi penelepon.
[in] Parameters
Penunjuk ke struktur NET_BUFFER_POOL_PARAMETERS yang menentukan parameter untuk kumpulan. Struktur didefinisikan sebagai berikut:
typedef struct _NET_BUFFER_POOL_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG PoolTag;
ULONG DataSize;
} NET_BUFFER_POOL_PARAMETERS, *PNET_BUFFER_POOL_PARAMETERS;
Struktur ini mencakup anggota berikut:
Header
Struktur NDIS_OBJECT_HEADER untuk struktur NET_BUFFER_POOL_PARAMETERS. Atur anggota Jenis struktur yang ditentukan Header ke NDIS_OBJECT_TYPE_DEFAULT, anggota Revisi ke NET_BUFFER_POOL_PARAMETERS_REVISION_1, dan anggota Ukuran ke NDIS_SIZEOF_NET_BUFFER_POOL_PARAMETERS_REVISION_1.
PoolTag
Tag kumpulan kernel yang digunakan pemanggil saat mengalokasikan struktur NET_BUFFER 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 yang dialokasikan dari kumpulan ini.
Ukuran Data
Ukuran data default untuk buffer data yang terkait dengan kumpulan ini. Penelepon harus mengatur nilai ini jika memanggil Fungsi NdisAllocateNetBufferMdlAndData . NDIS menggunakan nilai ini untuk mengatur ukuran buffer data yang dialokasikan untuk struktur NET_BUFFER. Jika penelepon tidak menggunakan fitur ini, nilai ini harus diatur ke nol.
Mengembalikan nilai
NdisAllocateNetBufferPool mengembalikan handel ke kumpulan struktur NET_BUFFER yang dialokasikan NDIS. Jika alokasi tidak berhasil, handel ini adalah NULL. Handel ini adalah parameter yang diperlukan dalam panggilan berikutnya ke fungsi NDIS yang mengalokasikan dan membebaskan struktur NET_BUFFER dari kumpulan ini.
Keterangan
Panggil fungsi berikut untuk mengalokasikan struktur NET_BUFFER dari kumpulan struktur NET_BUFFER.
NdisAllocateNetBufferMdlAndDataMDL dan buffer data yang dialokasikan dengan NdisAllocateNetBufferMdlAndData tidak boleh dibebaskan terpisah dari struktur NET_BUFFER. Struktur tersebut dibebaskan dengan struktur NET_BUFFER saat Anda memanggil fungsi NdisFreeNetBuffer .
Panggil fungsi NdisFreeNetBufferPool untuk membebaskan NET_BUFFER kumpulan struktur yang dibuat dengan NdisAllocateNetBufferPool.
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), NdisAllocateNetBufferPool(ndis), NdisAllocateNetBufferPool_InitFail(ndis) |
Lihat juga
NdisAllocateNetBufferMdlAndDataSaran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk