次の方法で共有


NdisMFreeSharedMemory 関数 (ndis.h)

NdisMFreeSharedMemory は、以前に NdisMAllocateSharedMemory によって割り当てられたメモリ 解放します。DMA NIC のドライバーによって NdisMAllocateSharedMemoryAsyncEx を します。

構文

void NdisMFreeSharedMemory(
  [in] NDIS_HANDLE           MiniportAdapterHandle,
  [in] ULONG                 Length,
  [in] BOOLEAN               Cached,
  [in] PVOID                 VirtualAddress,
  [in] NDIS_PHYSICAL_ADDRESS PhysicalAddress
);

パラメーター

[in] MiniportAdapterHandle

ミニポートInitializeEx に最初に入力ハンドルを指定します。

[in] Length

最初に割り当てられたバイト数を指定します。

[in] Cached

元の割り当てがキャッシュ可能であった場合 TRUE を指定します。

[in] VirtualAddress

NdisMAllocateSharedMemory または NdisMAllocateSharedMemoryAsyncEx によって返される基本仮想アドレスを指定します。

[in] PhysicalAddress

NdisMAllocateSharedMemory または ndisMAllocateSharedMemoryAsyncEx 返される対応する物理アドレスを指定します。

戻り値

何一つ

備考

NdisMAllocateSharedMemory または 呼び出しが既に成功している場合NdisMAllocateSharedMemoryAsyncEx 、DMA デバイスのミニポート ドライバーは、次のいずれかが発生した場合 NdisMFreeSharedMemory を呼び出します。

  • その ミニポートInitializeEx 関数は、NIC を初期化できないため、この関数は、コントロールを返す前に、その NIC のハードウェア リソースのすべての既存の要求を解放する必要があります。
  • ミニポート ドライバーがメモリを割り当てた NIC が削除されています。
  • システムがシャットダウンしているか、ユーザーがマシンで使用されているネットワーク コンポーネントを再構成したかに関係なく、ドライバーがアンロードされています。
  • ドライバーは、NIC の I/O 要求が高かったが、ネットワーク トラフィックが平均レベルに収まったときに、NdisMAllocateSharedMemoryAsyncEx を使用して追加の共有メモリを割り当てた。
ミニポート ドライバーは、割り当てられた共有メモリ範囲内 サブ範囲を解放する NdisMFreeSharedMemory を呼び出すことはできません。 NdisMFreeSharedMemory に渡されるパラメーターは、NdisMAllocateSharedMemory または NdisMAllocateSharedMemoryAsyncEx に渡されたものと正確に一致する必要があります。

NdisMFreeSharedMemory は、ミニポートShutdownEx 関数から呼び出すことはできません。

Microsoft Windows Server 2003、Windows XP Service Pack 1、およびそれ以降のバージョンの Windows では、バス マスター DMA NIC と下位 DMA NIC の両方が NdisMFreeSharedMemory 呼び出すことができます。 以前のリリースでは、バス マスター DMA NIC のみが NdisMFreeSharedMemory 呼び出すことができるようになります。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (NdisMFreeSharedMemory (NDIS 5.1) を参照) でサポートされています。 Windows XP で NDIS 5.1 ドライバー (NdisMFreeSharedMemory (NDIS 5.1) を参照) でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する Irql_Miniport_Driver_Function(ndis)NdisMFreeSharedMemory(ndis)

関連項目

ミニポートHaltEx

ミニポートInitializeEx

ミニポートSharedMemoryAllocateComplete

ミニポートShutdownEx

NdisMAllocateSharedMemory

NdisMAllocateSharedMemoryAsyncEx