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 的关闭。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 支持 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) |