NdisClIncomingCallComplete 函数 (ndis.h)

NdisClIncomingCallComplete 返回客户端接受或拒绝提供的传入调用,客户端的 ProtocolClIncomingCall 函数之前返回NDIS_STATUS_PENDING。

语法

void NdisClIncomingCallComplete(
  [in] NDIS_STATUS         Status,
  [in] NDIS_HANDLE         NdisVcHandle,
  [in] PCO_CALL_PARAMETERS CallParameters
);

参数

[in] Status

如果客户端接受提供的调用,则设置为 NDIS_STATUS_SUCCESS。 否则,可以将此参数设置为除NDIS_STATUS_PENDING之外的任何NDIS_STATUS_XXX ,以指示客户端确定的拒绝调用的原因。

[in] NdisVcHandle

指定由调用管理器创建以表示传入呼叫的 VC 的句柄。 客户端从它获取此句柄的每个 VC 状态,该状态由作为输入参数传递给其 的 ProtocolVcContext 指定 ProtocolClIncomingCall 函数。

[in] CallParameters

指向 CO_CALL_PARAMETERS 类型的结构的指针,指定传入呼叫的调用参数。

返回值

备注

如果客户端的 ProtocolClIncomingCall 函数返回特定 SAP 上提供的呼叫传入NDIS_STATUS_PENDING(以前由客户端使用 NdisClRegisterSap 注册),则客户端随后必须调用 NdisClIncomingCallComplete 以指示它是接受还是拒绝提供的呼叫。

在调用 NdisClIncomingCallComplete 之前,此类客户端可以通过调用 NdisClModifyCallQoS 一次或多次与调用管理器进行协商,直到两个驱动程序就传入呼叫的可接受服务质量达成协议,或者客户端确定应拒绝提供的呼叫,因为它尝试修改 QoS 达到了客户端确定的一些限制,而不会导致协议。

如果客户端更改了传递给其 ProtocolClIncomingCall 函数的调用参数,则当客户端将这些更改传递到 NdisClIncomingCallComplete 时,它必须使用 CALL_PARAMETERS_CHANGED 设置 CO_CALL_PARAMETERS 结构中的 Flags 成员。 根据调用管理器是接受还是拒绝客户端对调用参数的建议更改,NDIS 随后会调用客户端的 ProtocolClCallConnected 函数或其 ProtocolClIncomingCloseCall 函数,分别。

调用 NdisClIncomingCallComplete 会导致 NDIS 调用 CM 的 ProtocolCmIncomingCallComplete 函数。 NDIS 将客户端提供的 NdisClIncomingCallComplete 参数作为输入参数传递给 ProtocolCmIncomingCallComplete

如果客户端通过将“状态”设置为“NDIS_STATUS_SUCCESS”以外的内容来拒绝提供的调用,则客户端必须在调用 NdisClIncomingCallComplete 时立即将其视为 CallParameters 指针无效。

要求

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

另请参阅

CO_CALL_PARAMETERS

NdisClModifyCallQoS

NdisClRegisterSap

NdisCmDispatchIncomingCall

ProtocolClCallConnected

ProtocolClIncomingCall

ProtocolClIncomingCloseCall

ProtocolCmIncomingCallComplete