NdisCoDeleteVc 函数 (ndis.h)

NdisCoDeleteVc 销毁调用方创建的 VC。

语法

NDIS_STATUS NdisCoDeleteVc(
  [in] NDIS_HANDLE NdisVcHandle
);

参数

[in] NdisVcHandle

指定要删除的 VC 的句柄。 调用方最初从 NdisCoCreateVc 获取此句柄。

返回值

NdisCoDeleteVc 可以返回下列值之一:

返回代码 说明
NDIS_STATUS_SUCCESS
NDIS 删除了 VC。
NDIS_STATUS_NOT_ACCEPTED
VC 仍然处于活动状态,因此无法将其删除。
NDIS_STATUS_CLOSING
此调用是冗余的,但对给定 VC 的停用仍处于挂起状态。

注解

当协议调用 NdisCoDeleteVc 时,给定的 VC 上不得有未完成的调用,并且该 VC 已停用。 为了满足这些要求,需要满足以下条件:

  • 如果调用拆解是由本地客户端发起的,则表示该客户端已使用给定的 NdisVcHandle 调用了 NdisClClCloseCall,并且其关闭调用请求已成功完成。
  • 如果调用拆解是由远程客户端发起的,则独立调用管理器已使用给定的 NdisVcHandle 调用了NdisCmDeactivateVc,并且其停用请求已成功完成。
只有创建了特定 VC 的协议才能删除该 VC。 调用 NdisCoDeleteVc 会导致 NDIS 同时调用基础微型端口驱动程序的 MiniportCoDeleteVc 函数和调用方与之共享 NdisVcHandle 的客户端或调用管理器的 ProtocolCoDeleteVc 函数。

NdisCoDeleteVc 返回控件时, NdisVcHandle 不再有效。

向 NDIS 注册为协议驱动程序的独立调用管理器可以调用 NdisCoDeleteVc。 提供集成呼叫管理支持的面向连接的微型端口驱动程序改为调用 NdisMCmDeleteVc

要求

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

另请参阅

MiniportCoDeleteVc

NdisClCloseCall

NdisCmDeactivateVc

NdisCoCreateVc

NdisMCmDeleteVc

ProtocolClCloseCallComplete

ProtocolClIncomingCloseCall

ProtocolCmCloseCall

ProtocolCoDeleteVc