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

MiniportInitializeEx に最初に入力されたハンドルを指定します。

[in] Length

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

[in] Cached

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

[in] VirtualAddress

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

[in] PhysicalAddress

NdisMAllocateSharedMemory または NdisMAllocateSharedMemoryAsyncEx によって返される対応する物理アドレスを指定します。

戻り値

なし

解説

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

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

NdisMFreeSharedMemory、MiniportShutdownEx 関数から呼び出すことはできません。

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) を参照) でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 Irql_Miniport_Driver_Function(ndis)NdisMFreeSharedMemory(ndis)

こちらもご覧ください

MiniportHaltEx

MiniportInitializeEx

MiniportSharedMemoryAllocateComplete

MiniportShutdownEx

NdisMAllocateSharedMemory

NdisMAllocateSharedMemoryAsyncEx