共用方式為


PROTOCOL_CM_CLOSE_AF回呼函式 (ndis.h)

ProtocolCmCloseAf 函式是必要函式,可針對呼叫管理員支援的位址系列發行每個開啟的資源。

注意 您必須使用 PROTOCOL_CM_CLOSE_AF 類型來宣告函式。 如需詳細資訊,請參閱下列範例一節。
 

語法

PROTOCOL_CM_CLOSE_AF ProtocolCmCloseAf;

NDIS_STATUS ProtocolCmCloseAf(
  [in] NDIS_HANDLE CallMgrAfContext
)
{...}

參數

[in] CallMgrAfContext

指定呼叫管理員每個 AF 內容區域的句柄,最初由呼叫管理員的 ProtocolCmOpenAf 函式提供給 NDIS。

傳回值

ProtocolCmCloseAf 會傳回其作業的狀態,如下所示:

傳回碼 描述
NDIS_STATUS_SUCCESS
表示呼叫管理員已成功釋放或停用代表開啟此位址系列實例的連接導向用戶端所配置的任何資源。
NDIS_STATUS_PENDING
表示關閉位址系列開啟實例的要求將會以異步方式完成。 通話管理員必須呼叫當所有這類作業都已完成時, NdisCmCloseAddressFamilyComplete

言論

ProtocolCmCloseAf 版本和/或停用呼叫管理員在其 ProtocolCmOpenAf 函式中配置的任何資源。 當該客戶端開啟位址系列時,呼叫管理員也應該復原代表連線導向客戶端採取的任何其他動作。

如果在儲存在 CallMgrAfContext的位址系列上仍開啟任何未處理的要求或連線,呼叫管理員可以回應用戶端的要求,以下列任一方式關閉位址系列:

  • 呼叫管理員可能會因為NDIS_STATUS_NOT_ACCEPTED而失敗要求。
  • 呼叫管理員可以傳回NDIS_STATUS_PENDING。 用戶端關閉所有呼叫並取消註冊所有 SAP 之後,呼叫管理員就可以關閉位址系列並呼叫 NdisCmCloseAddressFamilyComplete NdisMCmCloseAddressFamilyComplete 通知用戶端。 這是慣用的回應。

範例

若要定義 ProtocolCmCloseAf 函式,您必須先提供函式宣告,以識別您要定義的函式類型。 Windows 提供一組驅動程式的函式類型。 使用函式類型宣告函式有助於 驅動程式的程式代碼分析靜態驅動程序驗證器 (SDV)和其他驗證工具尋找錯誤,而且是撰寫 Windows作系統驅動程式的需求。

例如,若要定義名為 「MyCmCloseAf」 的 ProtocolCmCloseAf 函式,請使用 PROTOCOL_CM_CLOSE_AF 類型,如下列程式代碼範例所示:

PROTOCOL_CM_CLOSE_AF MyCmCloseAf;

然後,實作您的函式,如下所示:

_Use_decl_annotations_
NDIS_STATUS
 MyCmCloseAf(
    NDIS_HANDLE  CallMgrAfContext
    )
  {...}

PROTOCOL_CM_CLOSE_AF 函式類型定義於 Ndis.h 頭檔中。 若要在執行程式代碼分析工具時更準確地識別錯誤,請務必將 Use_decl_annotations 批註新增至函式定義。 Use_decl_annotations 批注可確保會使用套用至頭檔中 PROTOCOL_CM_CLOSE_AF 函式類型的批注。 如需函式宣告需求的詳細資訊,請參閱 使用 NDIS 驅動程式的函式角色類型來宣告函式

如需 Use_decl_annotations的相關信息,請參閱 批注函式行為

要求

要求 價值
最低支援的用戶端 支援 Windows Vista 中的 NDIS 6.0 和 NDIS 5.1 驅動程式(請參閱 ProtocolCmCloseAf (NDIS 5.1)。 Windows XP 中支援 NDIS 5.1 驅動程式(請參閱 ProtocolCmCloseAf (NDIS 5.1) 。
目標平臺 窗戶
標頭 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL

另請參閱

NdisCmCloseAddressFamilyComplete

ProtocolCmOpenAf