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 は、ミニポート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) |
関連項目
ミニポートSharedMemoryAllocateCompleteNdisMAllocateSharedMemory の
NdisMAllocateSharedMemoryAsyncEx の