共用方式為


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

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

[in] PhysicalAddress

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

傳回值

沒有

言論

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

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

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)

另請參閱

MiniportHaltEx

MiniportInitializeEx

MiniportSharedMemoryAllocateComplete

MiniportShutdownEx

NdisMAllocateSharedMemory

NdisMAllocateSharedMemoryAsyncEx