NdisCmAddPartyComplete 函数 (ndis.h)

NdisCmAddPartyComplete 返回客户端请求的最终状态(调用管理器之前已返回该请求NDIS_STATUS_PENDING),以在已建立的多点 VC 上添加一个参与方。

语法

void NdisCmAddPartyComplete(
  [in]           NDIS_STATUS         Status,
  [in]           NDIS_HANDLE         NdisPartyHandle,
  [in, optional] NDIS_HANDLE         CallMgrPartyContext,
  [in]           PCO_CALL_PARAMETERS CallParameters
);

参数

[in] Status

指定调用管理器的添加方操作的最终状态,NDIS_STATUS_SUCCESS或任何NDIS_STATUS_XXX (NDIS_STATUS_PENDING除外)。

[in] NdisPartyHandle

指定标识参与方的句柄。 此句柄已输入到调用管理器的 ProtocolCmAddParty 函数。

[in, optional] CallMgrPartyContext

指定调用方分配的常驻上下文区域的句柄,如果添加方操作成功,调用管理器将在该区域中维护特定于参与方的状态信息。 否则,此参数可能为 NULL ,因为它将被忽略。

[in] CallParameters

指向 CO_CALL_PARAMETERS 类型的结构的指针,该结构包含最初由客户端提供的调用参数,供要添加的参与方。

返回值

备注

如果独立调用管理器的 ProtocolCmAddParty 函数返回NDIS_STATUS_PENDING,则 CM 随后必须调用 NdisCmAddPartyComplete ,以通知客户端和 NDIS 在多点 VC 上添加参与方的尝试已完成,无论是成功还是出现错误。

如果客户端在 CallParameters 中传入的流量参数与为多点 VC 建立的流量参数不匹配,则调用管理器的设计器必须确定如何处理此条件,但受网络介质施加的任何约束。 可能的原因包括:

  • 如果基础网络媒体支持多点 VC 上的此功能,请设置每方流量参数。
  • 将客户端提供的流量参数重置为在 CM 调用 NdisCmAddPartyComplete 之前为 VC 建立的流量参数,并将 NDIS_STATUS_SUCCESS 作为 状态
  • 在 CM 调用 NdisCmAddPartyComplete(将 NdisCmAddPartyComplete (NDIS_STATUS_SUCCESS 作为 Status) 之前,将 VC 的流量参数和当前连接到它的每一方的流量参数更改为客户端提供的值。
  • 客户端尝试添加群时失败。 (此替代方法隐式强制客户端使用 NdisClMakeCall 为多点 VC 设置其流量参数,并在每次后续调用 NdisClAddParty 时为给定的多点 VC.)
对于某些面向连接的媒体,流量参数本质上是每个 VC 的,因此,对于多点 VC 上的各方来说都是相同的。

如果 CM 将 Status 设置为 NDIS_STATUS_SUCCESS,则必须在调用 NdisCmAddPartyComplete 时提供显式句柄,该句柄通常是指向 CM 分配的每方状态区域的指针,作为 CallMgrPartyContext

调用 NdisCmAddPartyComplete 会导致 NDIS 调用客户端的 ProtocolClAddPartyComplete 函数。

只有向 NDIS 注册为协议驱动程序的独立调用管理器才能调用 NdisCmAddPartyComplete。 提供集成呼叫管理支持的面向连接的微型端口驱动程序改为调用 NdisMCmAddPartyComplete

要求

要求
最低受支持的客户端 支持 NDIS 6.0 和 NDIS 5.1 驱动程序 (请参阅 Windows Vista 中的 NdisCmAddPartyComplete (NDIS 5.1) ) 。 NDIS 5.1 驱动程序支持 (请参阅 Windows XP 中的 NdisCmAddPartyComplete (NDIS 5.1) ) 。
目标平台 桌面
标头 ndis.h (包括 Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 Irql_CallManager_Function (ndis)

另请参阅

CO_CALL_PARAMETERS

NdisAllocateFromNPagedLookasideList

NdisClAddParty

NdisMCmAddPartyComplete

ProtocolClAddPartyComplete

ProtocolCmAddParty