NET_BUFFER_ALLOCATE_MDL コールバック関数 (nblapi.h)
NetAllocateMdl 関数は、指定したサイズの関連付けられたメモリ ブロックを持つ MDL を割り当てます。
構文
NET_BUFFER_ALLOCATE_MDL NetBufferAllocateMdl;
MDL * NetBufferAllocateMdl(
[in] ULONG *BufferSize
)
{...}
パラメーター
[in] BufferSize
メモリ ブロックのサイズ (バイト単位)。 NetAllocateMdl を呼び出すと、NDIS は要求されたサイズを渡します。
戻り値
NetAllocateMdl は 、割り当てられた MDL へのポインターを返します。 割り当てが失敗した場合、戻り値は NULL です。
注釈
NDIS ドライバーが の AllocateMdl パラメーターで NetAllocateMdl 関数のエントリ ポイントを指定する場合 NdisRetreatNetBufferDataStart 関数は、 NetAllocateMdl を呼び出して MDL とメモリを割り当てます。
NDIS は、 BufferSize で関連付けられているメモリ ブロックのサイズを指定します。
NetAllocateMdl では、ドライバーの設計要件を満たす任意の割り当て方法を使用できます。 NDIS が NetFreeMdl 関数を呼び出してメモリを解放する場合、NDIS ドライバーは、メモリの割り当てに使用したのと同じメモリ管理メカニズムを使用してメモリを解放する必要があります。
NDIS は、IRQL <= DISPATCH_LEVELで NetAllocateMdl を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | nblapi.h (ndis.h を含む) |
IRQL | <= DISPATCH_LEVEL |