NdisAllocateNetBufferListPool 関数 (ndis/nblapi.h)
NdisAllocateNetBufferListPool 関数を呼び出して、NET_BUFFER_LIST構造体のプールを割り当てます。
構文
NDIS_EXPORTED_ROUTINE NDIS_HANDLE NdisAllocateNetBufferListPool(
[in, optional] NDIS_HANDLE NdisHandle,
[in] NET_BUFFER_LIST_POOL_PARAMETERS const *Parameters
);
パラメーター
[in, optional] NdisHandle
呼び出し元の初期化中に取得された NDIS ハンドル。
[in] Parameters
プールのパラメーターを定義する NET_BUFFER_LIST_POOL_PARAMETERS 構造体へのポインター。
戻り値
NdisAllocateNetBufferListPool は、NDIS が割り当てるNET_BUFFER_LIST構造体プールへのハンドルを返します。 割り当てが失敗した場合、このハンドルは NULL です。 このハンドルは、このプールからNET_BUFFER_LIST構造体を割り当てて解放する NDIS 関数の後続の呼び出しで必要なパラメーターです。
注釈
ほとんどの場合、 NET_BUFFER_LIST 構造体を割り当てる呼び出し元は、そのNET_BUFFER_LIST構造体に少なくとも 1 つの NET_BUFFER 構造体を割り当て、キューに入れます。 NET_BUFFER_LIST構造体とNET_BUFFER構造体を個別に割り当てるよりも、NET_BUFFER_LIST構造体のプールを割り当てると、NET_BUFFER構造体を事前に割り当てる方が効率的です。
NET_BUFFER_LIST構造体プールを作成するときに、fAllocateNetBuffer 値を TRUE に設定して NdisAllocateNetBufferListPool 関数を呼び出すことができます。 この場合、NET_BUFFER構造体は、呼び出し元がプールから割り当てる各NET_BUFFER_LIST構造体に事前に割り当てられます。 を呼び出すことができます。 NdisAllocateNetBufferAndNetBufferList 関数またはこのようなプールからNET_BUFFER_LIST構造体を割り当てるための NdisAllocateNetBufferList 関数。 fAllocateNetBuffer が TRUE で DataSize が 0 の場合にのみ、NdisAllocateNetBufferAndNetBufferList を呼び出します。
また、 NdisAllocateNetBufferListPool を呼び出し、NET_BUFFER_LIST構造体プールを作成するときに DataSize メンバーを 0 以外の値に設定することもできます。 この場合、NET_BUFFER構造体、MDL、およびデータは、呼び出し元がプールから割り当てる各NET_BUFFER_LIST構造体で事前に割り当てられます。
で割り当てられている構造体、MDL、およびデータ バッファーをNET_BUFFERする NdisAllocateNetBufferAndNetBufferList または NdisAllocateNetBufferList は、NET_BUFFER_LIST構造体とは別に解放しないでください。 このような構造体は、 NdisFreeNetBufferList 関数を呼び出すときに、NET_BUFFER_LIST構造体を使用して解放されます。
を呼び出します。NET_BUFFER_LIST構造体プールを解放するための NdisFreeNetBufferListPool 関数。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
対象プラットフォーム | ユニバーサル |
Header | ndis/nblapi.h (ndis.h を含む) |
Library | Ndis.lib |
[DLL] | Ndis.sys |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | Irql_NetBuffer_Function(ndis)、NdisAllocateNetBufferListPool(ndis)、NdisAllocateNetBufferListPool_InitFail(ndis) |
こちらもご覧ください
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferAndNetBufferList