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 完成停用后,传递给 NdisCmDeactivateVcNdisVcHandle 仍然有效。 停用任何 VC 允许其创建者重新初始化 VC 以供重复使用:

  • 在 VC 停用并结束调用后,客户端可以重复使用最初创建的 VC,以便使用 NdisClMakeCall 进行另一次调用。
  • 在 VC 停用并结束调用后,CM 可以重复使用它最初创建的 VC,以指示对同一客户端的另一个传入调用 NdisCmDispatchIncomingCall
不会重复使用的特定 VC 的创建者调用 NdisCoDeleteVc 来销毁该 VC。

只有向 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)

另请参阅

MiniportCoDeactivateVc

NdisClCloseCall

NdisClMakeCall

NdisCmActivateVc

NdisCmDispatchIncomingCall

NdisMCmDeactivateVc

ProtocolCmCloseCall

ProtocolCmDeactivateVcComplete