次の方法で共有


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

こちらもご覧ください

NdisRetreatNetBufferDataStart

NetFreeMdl