NdisAllocateNetBufferPool 関数 (ndis/nblapi.h)
NdisAllocateNetBufferPool 関数を呼び出して、NET_BUFFER 構造体のプールを割り当てます。
構文
NDIS_EXPORTED_ROUTINE NDIS_HANDLE NdisAllocateNetBufferPool(
[in, optional] NDIS_HANDLE NdisHandle,
[in] NET_BUFFER_POOL_PARAMETERS const *Parameters
);
パラメーター
[in, optional] NdisHandle
呼び出し元の初期化中に取得された NDIS ハンドル。
[in] Parameters
プールのパラメーターを定義するNET_BUFFER_POOL_PARAMETERS構造体へのポインター。 構造体は次のように定義されます。
typedef struct _NET_BUFFER_POOL_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG PoolTag;
ULONG DataSize;
} NET_BUFFER_POOL_PARAMETERS, *PNET_BUFFER_POOL_PARAMETERS;
この構造体には、次のメンバーが含まれます。
ヘッダ
NET_BUFFER_POOL_PARAMETERS構造体の NDIS_OBJECT_HEADER 構造体。 NDIS_OBJECT_TYPE_DEFAULTに指定 構造体の 型 メンバーを設定、リビジョン メンバーをNET_BUFFER_POOL_PARAMETERS_REVISION_1、Size メンバーをNDIS_SIZEOF_NET_BUFFER_POOL_PARAMETERS_REVISION_1に設定します。
PoolTag
呼び出し元がこのプールから NET_BUFFER 構造体を割り当てるときに使用するカーネル プール タグ。 タグは、一重引用符で区切られた文字列で、通常は逆の順序で指定される最大 4 文字です。 カーネル プール タグは、NDIS がこのプールから割り当てられているNET_BUFFER構造体の所有者を識別するのに役立ちます。
DataSize
このプールに関連付けられているデータ バッファーの既定のデータ サイズ。 呼び出し元は、この値を呼び出す場合は、この値を設定する必要があります。NdisAllocateNetBufferMdlAndData 関数を します。 NDIS では、この値を使用して、NET_BUFFER構造体に割り当てるデータ バッファーのサイズを設定します。 呼び出し元がこの機能を使用しない場合は、この値を 0 に設定する必要があります。
戻り値
NdisAllocateNetBufferPool は、NDIS が割り当てるNET_BUFFER構造体プールへのハンドルを返します。 割り当てが失敗した場合、このハンドルは NULL 。 このハンドルは、このプールからNET_BUFFER構造体を割り当てて解放する NDIS 関数の後続の呼び出しで必要なパラメーターです。
備考
NET_BUFFER構造体プールから NET_BUFFER 構造体を割り当てるには、次の関数を呼び出します。
NdisAllocateNetBuffer の
NdisAllocateNetBufferMdlAndData のNdisAllocateNetBufferMdlAndData で割り当てられた MDL バッファーとデータ バッファーは、NET_BUFFER構造体から分離しないでください。 このような構造体は、NdisFreeNetBuffer 関数を呼び出すと、NET_BUFFER構造体で解放されます。
NdisFreeNetBufferPool 関数を呼び出して、ndisAllocateNetBufferPool で作成されたNET_BUFFER構造体プール解放します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ndis/nblapi.h (ndis.h を含む) |
ライブラリ | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferPool(ndis), NdisAllocateNetBufferPool_InitFail(ndis) |
関連項目
NdisAllocateNetBuffer の
NdisAllocateNetBufferMdlAndData のNdisFreeNetBuffer の
NdisFreeNetBufferPool の