使用英语阅读

通过


NdisCmDeactivateVc 函数 (ndis.h)

NdisCmDeactivateVc 通知 NDIS 和基础微型端口驱动程序,特定活动 VC 上不会进一步传输。

语法

NDIS_STATUS NdisCmDeactivateVc(
  [in] NDIS_HANDLE NdisVcHandle
);

参数

[in] NdisVcHandle

指定标识 VC 的句柄。 此句柄由 NDIS 提供给调用管理器,无论是调用传入呼叫 NdisCoCreateVc,还是当其 ProtocolCoCreateVc 函数为客户端发起的传出调用设置 VC 时。

返回值

NdisCmDeactivateVc 返回除NDIS_STATUS_PENDING以外的任何内容时,调用管理器应对其进行内部调用 ProtocolCmDeactivateVcComplete 函数。 否则,NDIS 会在完成此作时调用 CM 的 ProtocolCmDeactivateVcComplete 函数。

言论

独立调用管理器调用 NdisCmDeactivateVc 作为关闭呼叫的重要步骤,通常是在与断开呼叫的网络组件进行数据包交换之后。

调用 NdisCmDeactivateVc 会导致 NDIS 调用基础微型端口驱动程序的 MiniportCoDeactivateVc 函数,该函数可以放弃当前调用参数以在 VC 上传输,可能将其重新初始化为微型端口驱动程序确定的默认值。 如果随后为另一个调用重新激活 VC,客户端或调用管理器将向微型端口驱动程序提供新的调用参数。

传递给 NdisCmDeactivateVc NdisVcHandle 在完成 VC 停用后仍然有效。 任何 VC 的停用都允许其创建者重新初始化 VC 以供重复使用:

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

只有将自己注册为协议驱动程序的 NDIS 的独立呼叫管理器才能调用 NdisCmDeactivateVc。 面向连接的微型端口驱动程序,这些驱动程序提供集成的呼叫管理支持呼叫 NdisMCmDeactivateVc

要求

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

另请参阅

MiniportCoDeactivateVc

NdisCloseCall

NdisClMakeCall

NdisCmActivateVc

NdisCmDispatchIncomingCall

NdisMCmDeactivateVc

ProtocolCmCloseCall

ProtocolCmDeactivateVcComplete