共用方式為


NdisMFreeSharedMemory 函式 (ndis.h)

NdisMFreeSharedMemory 釋出先前由 NdisMAllocateSharedMemory NdisMAllocateSharedMemoryAsyncEx by a 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

指定 NdisMAllocateSharedMemoryNdisMAllocateSharedMemoryAsyncEx 所傳回的基底虛擬位址。

[in] PhysicalAddress

指定 NdisMAllocateSharedMemoryNdisMAllocateSharedMemoryAsyncEx 所傳回的對應實體位址。

傳回值

備註

如果已經成功呼叫 NdisMAllocateSharedMemory NdisMAllocateSharedMemoryAsyncEx,DMA 裝置的迷你埠驅動程式會在發生下列任一情況時呼叫 NdisMFreeSharedMemory

  • MiniportInitializeEx 函式無法初始化 NIC,因此此函式必須在該 NIC 的硬體資源上釋放所有現有的宣告,才能傳回控制權。
  • 迷你埠驅動程式配置記憶體的 NIC 正在移除。
  • 驅動程式正在卸除,無論是因為系統正在關機,還是因為使用者重新設定計算機中使用的網路元件。
  • 當 NIC 上的 I/O 需求很高時,驅動程式已配置額外的共用記憶體與 NdisMAllocateSharedMemoryAsyncEx ,但網路流量現在已減去為平均層級。
迷你埠驅動程序無法呼叫 NdisMFreeSharedMemory ,在配置的共用記憶體範圍內釋放子範圍。 傳遞至 NdisMFreeSharedMemory 的參數必須完全符合傳遞給 NdisMAllocateSharedMemory 或 NdisMAllocateSharedMemoryAsyncEx 的參數。

無法從 MiniportShutdownEx 函式呼叫 NdisMFreeSharedMemory

Microsoft Windows Server 2003、Windows XP Service Pack 1 和更新版本的 Windows 允許總線主機 DMA DMA NIC 和次級 DMA NIC 呼叫 NdisMFreeSharedMemory。 先前的版本只允許總線主機 DMA NIC 呼叫 NdisMFreeSharedMemory

規格需求

需求
最低支援的用戶端 支援 NDIS 6.0 和 NDIS 5.1 驅動程式 (請參閱 Windows Vista 中的 NdisMFreeSharedMemory (NDIS 5.1) ) 。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 中的 NdisMFreeSharedMemory (NDIS 5.1) ) 。
目標平台 Universal
標頭 ndis.h (包括 Ndis.h)
程式庫 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 Irql_Miniport_Driver_Function (ndis) NdisMFreeSharedMemory (ndis)

另請參閱

MiniportHaltEx

MiniportInitializeEx

MiniportSharedMemoryAllocateComplete

MiniportShutdownEx

NdisMAllocateSharedMemory

NdisMAllocateSharedMemoryAsyncEx