NdisMCmDeactivateVc 函数 (ndis.h)

NdisMCmDeactivateVc 通知 NDIS 特定活动 VC 上不会有进一步的传输。

语法

NDIS_STATUS NdisMCmDeactivateVc(
  [in] NDIS_HANDLE NdisVcHandle
);

参数

[in] NdisVcHandle

指定标识 VC 的句柄。 当 MCM 驱动程序为传入调用调用 NdisMCmCreateVc ,或者当其 ProtocolCoCreateVc 函数为客户端发起的传出调用设置 VC 时,NDIS 向 MCM 驱动程序提供了此句柄。

返回值

NdisMCmDeactivateVc 可以返回下列值之一:

返回代码 说明
NDIS_STATUS_SUCCESS
NDIS 将 VC 标记为非活动。
NDIS_STATUS_NOT_ACCEPTED
VC 已停用,因此此调用是冗余的。

注解

MCM 驱动程序调用 NdisMCmDeactivateVc 作为关闭呼叫的重要步骤,通常是在与断开连接的网络组件进行数据包交换之后。

成功调用 NdisMCmDeactivateVc 允许 MCM 驱动程序放弃当前调用参数以在 VC 上进行传输,并可能将其重新初始化为微型端口驱动程序确定的默认值。 但是,如果随后为另一个调用重新激活 VC,客户端将向微型端口驱动程序提供新的调用参数。

传递给 NdisMCmDeactivateVcNdisVcHandle 在 VC 停用完成后仍然有效。 停用任何 VC 允许其创建者重新初始化 VC 以供重复使用或销毁它:

驱动程序编写器确定 MCM 驱动程序是否具有 (内部) MiniportCoDeactivateVc 函数,驱动程序在断开传出和传入呼叫的连接上下文中调用该函数。

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

要求

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

另请参阅

MiniportCoDeactivateVc

NdisClCloseCall

NdisClMakeCall

NdisCmDeactivateVc

NdisMCmActivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

ProtocolCmCloseCall

ProtocolCoDeleteVc