NdisCmDeactivateVc 函数 (ndis.h)
NdisCmDeactivateVc 通知 NDIS 和基础微型端口驱动程序,不会对特定活动 VC 进行进一步传输。
语法
NDIS_STATUS NdisCmDeactivateVc(
[in] NDIS_HANDLE NdisVcHandle
);
参数
[in] NdisVcHandle
指定标识 VC 的句柄。 当调用管理器调用 NdisCoCreateVc 进行传入调用时,或者当其 ProtocolCoCreateVc 函数为客户端发起的传出调用设置 VC 时,NDIS 会向该调用管理器提供此句柄。
返回值
当 NdisCmDeactivateVc 返回除 NDIS_STATUS_PENDING 以外的任何内容时,调用管理器应对其进行内部调用 ProtocolCmDeactivateVcComplete 函数。 否则,NDIS 会在此操作完成时调用 CM 的 ProtocolCmDeactivateVcComplete 函数。
注解
独立呼叫管理器调用 NdisCmDeactivateVc 作为结束呼叫的重要步骤,通常是在与网络组件交换数据包后关闭呼叫。
调用 NdisCmDeactivateVc 会导致 NDIS 调用基础微型端口驱动程序的 MiniportCoDeactivateVc 函数,该函数可以放弃 VC 上传输的当前调用参数,并可能将其重新初始化为微型端口驱动程序确定的默认值。 如果随后为另一个调用重新激活 VC,客户端或调用管理器将向微型端口驱动程序提供新的调用参数。
在 NdisCmDeactivateVc 完成停用后,传递给 NdisCmDeactivateVc 的 NdisVcHandle 仍然有效。 停用任何 VC 允许其创建者重新初始化 VC 以供重复使用:
- 在 VC 停用并结束调用后,客户端可以重复使用最初创建的 VC,以便使用 NdisClMakeCall 进行另一次调用。
- 在 VC 停用并结束调用后,CM 可以重复使用它最初创建的 VC,以指示对同一客户端的另一个传入调用 NdisCmDispatchIncomingCall。
只有向 NDIS 注册为协议驱动程序的独立调用管理器才能调用 NdisCmDeactivateVc。 提供集成呼叫管理支持的面向连接的微型端口驱动程序改为调用 NdisMCmDeactivateVc 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | NDIS 6.0 和 NDIS 5.1 驱动程序支持 (请参阅 Windows Vista 中的 NdisCmDeactivateVc (NDIS 5.1) ) 。 NDIS 5.1 驱动程序支持 (请参阅 Windows XP 中的 NdisCmDeactivateVc (NDIS 5.1) ) 。 |
目标平台 | 桌面 |
标头 | ndis.h (包括 Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | Irql_CallManager_Function (ndis) |