NdisAllocateNetBufferMdlAndData 関数 (ndis/nblapi.h)
NDIS ドライバーは、関連付けられた MDL とデータと共にNET_BUFFER構造体を割り当てるために、NdisAllocateNetBufferMdlAndData 関数を呼び出します。
構文
NDIS_EXPORTED_ROUTINE NET_BUFFER * NdisAllocateNetBufferMdlAndData(
[in] NDIS_HANDLE PoolHandle
);
パラメーター
[in] PoolHandle
NdisAllocateNetBufferPool 関数の呼び出しから以前に返されたNET_BUFFER構造体プール ハンドル。
戻り値
NdisAllocateNetBufferMdlAndData は、NDIS が割り当てたNET_BUFFER構造体へのポインターを返します。 割り当てが失敗した場合、このポインターは NULL 。
備考
呼び出し元は、NdisAllocateNetBufferPool 関数を呼び出し、データ バッファーの最大サイズを指定する必要があります。 この値を指定すると、NDIS は呼び出し元のバッファーを事前割り当てできます。
この関数は、NET_BUFFER 構造体、MDL、およびデータを 1 つのメモリ バッファーに割り当てます。 これは、NET_BUFFER構造体が頻繁に割り当てられ、解放される場合に、高いパフォーマンスを実現するのに役立ちます。 呼び出し元 NdisAllocateNetBuffer を呼び出して、データを含むNET_BUFFER プールからNET_BUFFERsを割り当てないようにする必要があります。
NDIS は、PoolHandle パラメーターを使用してメモリ ブロックを取得し、NET_BUFFER、MDL、およびデータ バッファーを作成します。
NET_BUFFERと関連情報を解放するには、NdisFreeNetBuffer 関数を呼び出します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ndis/nblapi.h (ndis.h を含む) |
ライブラリ | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferMdlAndData(ndis), NdisAllocateNetBufferMdlAndData_InitFail(ndis) |
関連項目
NdisAllocateNetBuffer の
NdisFreeNetBuffer の