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 は 、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) |