NdisMCmDeactivateVc 函数 (ndis.h)
NdisMCmDeactivateVc 通知 NDIS 特定活动 VC 上不会有进一步的传输。
语法
NDIS_STATUS NdisMCmDeactivateVc(
[in] NDIS_HANDLE NdisVcHandle
);
参数
[in] NdisVcHandle
指定标识 VC 的句柄。 当 MCM 驱动程序为传入调用调用 NdisMCmCreateVc ,或者当其 ProtocolCoCreateVc 函数为客户端发起的传出调用设置 VC 时,NDIS 向 MCM 驱动程序提供了此句柄。
返回值
NdisMCmDeactivateVc 可以返回下列值之一:
返回代码 | 说明 |
---|---|
|
NDIS 将 VC 标记为非活动。 |
|
VC 已停用,因此此调用是冗余的。 |
注解
MCM 驱动程序调用 NdisMCmDeactivateVc 作为关闭呼叫的重要步骤,通常是在与断开连接的网络组件进行数据包交换之后。
成功调用 NdisMCmDeactivateVc 允许 MCM 驱动程序放弃当前调用参数以在 VC 上进行传输,并可能将其重新初始化为微型端口驱动程序确定的默认值。 但是,如果随后为另一个调用重新激活 VC,客户端将向微型端口驱动程序提供新的调用参数。
传递给 NdisMCmDeactivateVc 的 NdisVcHandle 在 VC 停用完成后仍然有效。 停用任何 VC 允许其创建者重新初始化 VC 以供重复使用或销毁它:
- 在 VC 停用和调用结束之后,客户端可以重复使用最初创建的 VC 以使用 NdisClMakeCall 进行另一次调用,也可以调用 NdisCoDeleteVc,从而调用 MCM 驱动程序的 ProtocolCoDeleteVc 函数。
- 在 VC 停用和调用结束之后,MCM 驱动程序可以重复使用最初创建的 VC,以指示对同一客户端的另一个传入调用 NdisMCmDispatchIncomingCall,也可以调用 NdisMCmDeleteVc。
只有提供集成呼叫管理支持的面向连接的微型端口驱动程序才能调用 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) |