NdisAllocateSharedMemory 関数 (ndis.h)
NdisAllocateSharedMemory 関数は、共有メモリ プロバイダーから共有メモリを割り当てます。
構文
NDIS_STATUS NdisAllocateSharedMemory(
[in] NDIS_HANDLE NdisHandle,
[in] PNDIS_SHARED_MEMORY_PARAMETERS SharedMemoryParameters,
[in, out] PNDIS_HANDLE pAllocationHandle
);
パラメーター
[in] NdisHandle
呼び出し元の初期化中に取得された NDIS ドライバーまたはインスタンス ハンドル。 たとえば、ミニポート ドライバーは、 から取得した NDIS ハンドルを使用できます。 NdisMRegisterMiniportDriver または MiniportInitializeEx 関数。 他の NDIS ドライバーでは、次の関数のハンドルを使用できます。
[in] SharedMemoryParameters
へのポインター NDIS_SHARED_MEMORY_PARAMETERS 共有メモリの要求された属性を定義する構造体です。
[in, out] pAllocationHandle
割り当てられた共有メモリを識別するハンドルの場所へのポインター。 ハンドルは、関数がを返すときに使用できます。または、関数が失敗した場合は NULL になります。 呼び出し元は、このハンドルを使用して、正常に割り当てられた共有メモリを解放する必要があります。
戻り値
NdisAllocateSharedMemory は、次の状態値を返すことができます。
リターン コード | 説明 |
---|---|
|
操作は正常に完了しました。 |
|
操作を完了するのに十分なリソースがなかったため、操作が失敗しました。 |
|
入力パラメーターが無効なため、操作は失敗しました。 |
|
指定されていない理由で操作が失敗しました。 |
注釈
SharedMemoryParameters パラメーターには、 へのポインターが含まれています。 NDIS_SHARED_MEMORY_PARAMETERS 共有メモリの要求された属性を定義する構造体です。 NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS フラグが Flags メンバーに設定されていない場合は、連続していないメモリに含まれる分散収集リストで共有メモリを指定できます。
NDIS は、共有メモリ プロバイダーの NetAllocateSharedMemory 関数を NdisAllocateSharedMemory の呼び出しのコンテキストから呼び出します。
ドライバーは NdisFreeSharedMemory 関数を呼び出して、 NdisAllocateSharedMemory で割り当てる共有メモリを解放する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.20 以降でサポートされています。 |
対象プラットフォーム | ユニバーサル |
Header | ndis.h (Ndis.h を含む) |
Library | Ndis.lib |
IRQL | PASSIVE_LEVEL |