次の方法で共有


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 関数。 fAllocateNetBufferTRUEDataSize が 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

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList

NdisAllocateNetBufferList

NdisFreeNetBufferList

NdisFreeNetBufferListPool