共用方式為


NdisClCloseAddressFamily 函式 (ndis.h)

NdisCloseAddressFamily 釋放用戶端通訊協定與呼叫管理員或 MCM 驅動程式註冊 AF 之間的關聯,以取得用戶端所系結的特定 NIC。

語法

NDIS_STATUS NdisClCloseAddressFamily(
  [in] NDIS_HANDLE NdisAfHandle
);

參數

[in] NdisAfHandle

指定所傳回的 NDIS 提供句柄 NdisClOpenAddressFamilyEx

傳回值

什麼時候 NdisCloseAddressFamily 傳回NDIS_STATUS_PENDING以外的任何專案,客戶端應該對其進行內部呼叫 ProtocolCloseAfComplete 函式。 否則,NDIS 會呼叫用戶端的完成此作業時, ProtocolCloseAfComplete 函式。

如果 NdisCloseAddressFamily 會傳回NDIS_STATUS_PENDING,這是正在等候它的用戶端 ProtocolCloseAfComplete 函式的呼叫不應該封鎖目前的線程,因為這可能會導致死結。 當用戶端在處理 的內容中呼叫 NdisCloseAddressFamily 時,這特別重要 NdisCmNotifyCloseAddressFamily 要求。 在此情況下,在用戶端從處理 NdisCmNotifyCloseAddressFamily 要求之後,呼叫管理員可能不會關閉位址系列。 如果客戶端封鎖目前的線程,客戶端永遠不會完成 NdisCmNotifyCloseAddressFamily 要求的處理,因而造成死結。

言論

用戶端通常會從其呼叫 NdisCloseAddressFamily
ProtocolUnbindAdapterEx 函式之後,它會關閉系結上所有開啟的 DC,並呼叫 NdisCloseCall 和/或 NdisClDeregisterSap。 用戶端也可以在處理 的內容中呼叫 NdisCloseAddressFamily NdisCmNotifyCloseAddressFamily 要求。

NDIS 呼叫用戶端的 ProtocolUnbindAdapterEx 函式,每當該客戶端系結的基礎 NIC 從計算機中移除或正在重新設定時。 基礎迷你埠驅動程式的 PnP 重新設定會導致呼叫管理員或 MCM 驅動程式重新註冊透過該 NIC 支援的位址系列。 接著,這會導致對用戶端的後續呼叫 ProtocolCoAfRegisterNotify 函式。 在任一案例中,用戶端的 ProtocolUnbindAdapterEx 函式必須呼叫 NdisCloseAddressFamily,且任何未完成的 NdisAfHandle 它目前會使用,視基礎迷你埠驅動程式而定。

一般指導方針是,客戶端應該先透過迷你埠驅動程序釋放配置給聯機導向通訊的所有資源, ProtocolUnbindAdapterEx 函式會呼叫 NdisCloseAdapterEx

傳遞至 NdisCloseAddressFamilyNdisAfHandle 會在發生此呼叫時立即變成無效。

在呼叫 NdisCloseAddressFamily之前,用戶端可能會在 AF 開啟或時使用 NdisAfHandle ProtocolClNotifyCloseAf 作業擱置中。 如果 ProtocolClNotifyCloseAf 函式會傳回NDIS_STATUS_PENDING,請使用 中的句柄 NdisClNotifyCloseAddressFamilyComplete 關閉作業完成後呼叫。

要求

要求 價值
最低支援的用戶端 Windows Vista 中支援 NDIS 6.0 和 NDIS 5.1 驅動程式(請參閱 NdisCloseAddressFamily (NDIS 5.1)。 支援 NDIS 5.1 驅動程式(請參閱 Windows XP 中的 NdisCloseAddressFamily (NDIS 5.1)。
目標平臺 桌面
標頭 ndis.h (包括 Ndis.h)
連結庫 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 Irql_Protocol_Driver_Function(ndis)

另請參閱

NdisCloseCall

NdisClDeregisterSap

NdisClOpenAddressFamilyEx

ProtocolCloseAfComplete

ProtocolCmCloseAf

ProtocolCoAfRegisterNotify

ProtocolUnbindAdapterEx