NdisMCmActivateVc 函数 (ndis.h)

NdisMCmActivateVc 通知 NDIS MCM 驱动程序已准备好在特定 VC 上进行传输。

语法

NDIS_STATUS NdisMCmActivateVc(
  [in] NDIS_HANDLE         NdisVcHandle,
  [in] PCO_CALL_PARAMETERS CallParameters
);

参数

[in] NdisVcHandle

指定标识 VC 的句柄。

[in] CallParameters

指向调用方分配的缓冲区的指针,该缓冲区的格式设置为 CO_CALL_PARAMETERS 类型的结构,其中包含微型端口驱动程序用于激活的 VC 的所有特定于媒体的参数。

返回值

NdisMCmActivateVc 返回除NDIS_STATUS_PENDING以外的任何内容时,MCM 驱动程序应对其进行内部调用 ProtocolCmActivateVcComplete 函数。 否则,完成此操作时,NDIS 会调用 MCM 驱动程序的 ProtocolCmActivateVcComplete 函数。

注解

NdisMCmActivateVc 通知 NDIS MCM 驱动程序已在新建的 VC 上设置了呼叫和媒体参数,或更改了已建立的 VC 上的调用参数。

MCM 驱动程序必须在 VC 上建立连接之后、在该 VC 上发送或接收任何数据之前调用 NdisMCmActivateVc 。 此调用通知 NDIS 微型端口驱动程序已使 NIC 准备好在 VC 上进行传输。

对于客户端发起的传出呼叫,MCM 驱动程序通常在握手后调用 NdisMCmActivateVc ,表示与远程节点达成协商协议或在交换机上成功调用设置,然后通知 NDIS (,客户端) 使用 NdisMCmMakeCallComplete 完成传出呼叫。 对于传入呼叫,MCM 驱动程序通常在成功调用 NdisMCmCreateVc 之后和调用之前调用 NdisMCmActivateVc NdisMCmDispatchIncomingCall

驱动程序编写器确定 MCM 驱动程序是否具有 (内部) MiniportCoActivateVc 函数,驱动程序在为传出和传入呼叫设置连接时调用该函数。

在连接期间,MCM 驱动程序可以在网络条件更改和/或客户端调用 NdisClModifyCallQoS 时修改调用参数。 如果 MCM 驱动程序能够继续根据新修改的调用参数在 VC 上进行传输,则必须将它维护的关于调用参数的状态更新为新值。 它必须调用 NdisMCmActivateVc 以通知 NDIS 活动 VC 的调用参数中的任何更改。 否则,MCM 驱动程序可以执行以下任一操作:

  • 将客户端的 QoS 或其他调用参数修改为 VC 的请求失败后,调用 NdisMCmDeactivateVc ,使其处于微型端口驱动程序无法继续在 VC 上进行传输的状态。
  • 将调用参数还原到以前接受的状态,通知请求更改的客户端,并准备好继续在 VC 上传输数据。 在这种情况下,客户端可以选择接受还原的调用参数或拒绝它们并启动 VC 的关闭。
只有提供集成呼叫管理支持的面向连接的微型端口驱动程序才能调用 NdisMCmActivateVc。 独立调用管理器(将自己注册到 NDIS 作为协议驱动程序)改为调用 NdisCmActivateVc

要求

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

另请参阅

CO_CALL_PARAMETERS

MiniportCoActivateVc

NdisClMakeCall

NdisClModifyCallQoS

NdisCmActivateVc

NdisMCmCreateVc

NdisMCmDeactivateVc

NdisMCmDispatchIncomingCall

ProtocolCoCreateVc