PROTOCOL_CM_INCOMING_CALL_COMPLETE回调函数 (ndis.h)

ProtocolCmIncomingCallComplete 函数是必需的。 当 NDIS 调用此函数时,ProtocolCmIncomingCallComplete 向调用管理器指示,面向连接的客户端已完成调用套餐的处理,而呼叫管理器之前通过该调用管理器调度的传入呼叫套餐 NdisCmDispatchIncomingCall

注释 必须使用 PROTOCOL_CM_INCOMING_CALL_COMPLETE 类型声明函数。 有关详细信息,请参阅以下示例部分。
 

语法

PROTOCOL_CM_INCOMING_CALL_COMPLETE ProtocolCmIncomingCallComplete;

VOID ProtocolCmIncomingCallComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE CallMgrVcContext,
  [in] PCO_CALL_PARAMETERS CallParameters
)
{...}

参数

[in] Status

指示将传入调用调度到面向连接的客户端的作的最终状态。

[in] CallMgrVcContext

指定调用管理器分配的上下文区域的句柄,其中调用管理器维护其每 VC 状态。 调用管理器从其 ProtocolCoCreateVc 函数中提供了此句柄。

[in] CallParameters

指向调用管理器在调用 NdisCmDispatchIncomingCall中指定的调用参数的指针。 信号协议确定呼叫管理器可以更改哪些调用参数(如果有)。

返回值

没有

言论

当面向连接的客户端已完成调用管理器调度到它的传入连接产品/服务的处理时,如果 NdisCmDispatchIncomingCall 返回NDIS_STATUS_PENDING,将调用此例程。 传入呼叫的最终状态在 状态中找到。 状态 的可能值包括但不限于:

如果客户端接受传入呼叫,则呼叫管理器应发送信号消息,以向调用实体指示呼叫已被接受。 如果客户端不接受呼叫,则呼叫管理器应发送信号消息,以指示呼叫已被拒绝。

示例

若要定义 protocolCmIncomingCallComplete 函数,必须首先提供一个函数声明来标识要定义的函数的类型。 Windows 为驱动程序提供了一组函数类型。 使用函数类型声明函数有助于 驱动程序代码分析静态驱动程序验证程序(SDV)和其他验证工具查找错误,这是为 Windows作系统编写驱动程序的要求。

例如,若要定义名为“MyCmIncomingCallComplete”的 ProtocolCmIncomingCallComplete 函数,请使用 PROTOCOL_CM_INCOMING_CALL_COMPLETE 类型,如以下代码示例所示:

PROTOCOL_CM_INCOMING_CALL_COMPLETE MyCmIncomingCallComplete;

然后,按如下所示实现函数:

_Use_decl_annotations_
VOID
 MyCmIncomingCallComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  CallMgrVcContext,
    PCO_CALL_PARAMETERS  CallParameters
    )
  {...}

PROTOCOL_CM_INCOMING_CALL_COMPLETE 函数类型在 Ndis.h 头文件中定义。 若要在运行代码分析工具时更准确地识别错误,请务必将 Use_decl_annotations 注释添加到函数定义。 Use_decl_annotations 批注可确保使用应用于头文件中 PROTOCOL_CM_INCOMING_CALL_COMPLETE 函数类型的批注。 有关函数声明要求的详细信息,请参阅 使用 NDIS 驱动程序的函数角色类型声明函数。

有关 Use_decl_annotations的信息,请参阅 批注函数行为

要求

要求 价值
最低支持的客户端 Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 ProtocolCmIncomingCallComplete (NDIS 5.1)。 支持 NDIS 5.1 驱动程序(请参阅 Windows XP 中的 ProtocolCmIncomingCallComplete (NDIS 5.1) 。
目标平台 窗户
标头 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL

另请参阅

NdisCmDispatchIncomingCall

ProtocolClIncomingCall

ProtocolCmRegisterSap