NdisMFreeSharedMemory 函式 (ndis.h)
NdisMFreeSharedMemory 釋放先前由 NdisMAllocateSharedMemory 或 NdisMAllocateSharedMemoryAsyncEx DMA NIC 的驅動程式。
語法
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 或 NdisMAllocateSharedMemoryAsyncEx,DMA 裝置的迷你埠驅動程式會在發生下列任一情況時呼叫 NdisMFreeSharedMemory:
- 其 MiniportInitializeEx 函式無法初始化 NIC,因此此函式必須先釋放該 NIC 硬體資源上的所有現有宣告,才能傳回控制權。
- 正在移除迷你埠驅動程式配置記憶體的 NIC。
- 驅動程式正在卸除,無論是因為系統正在關機,還是因為使用者重新設定了機器中使用的網路元件。
- 當 NIC 上的 I/O 需求很高時,驅動程式已配置額外的共用記憶體,NdisMAllocateSharedMemoryAsyncEx,但網路流量現在已消退到平均層級。
NdisMFreeSharedMemory 無法從 MiniportShutdownEx 函式呼叫。
Microsoft Windows Server 2003、Windows XP Service Pack 1 和更新版本的 Windows 允許總線主要 DMA 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) |