共用方式為


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 會以下列其中一項傳回其作業的狀態 (s) :

傳回碼 Description
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的詳細資訊,請參閱 標註函式行為

規格需求

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

另請參閱

NdisCmCloseAddressFamilyComplete

ProtocolCmOpenAf