NdisCmCloseCallComplete 函数 (ndis.h)

NdisCmCloseCallComplete 返回客户端请求的最终状态,调用管理器之前NDIS_STATUS_PENDING返回请求,以删除调用。

语法

void NdisCmCloseCallComplete(
  [in]           NDIS_STATUS Status,
  [in]           NDIS_HANDLE NdisVcHandle,
  [in, optional] NDIS_HANDLE NdisPartyHandle
);

参数

[in] Status

指定客户端请求中 CM 关闭连接的最终状态,NDIS_STATUS_SUCCESS或 CM 确定的任何NDIS_STATUS_XXX (NDIS_STATUS_PENDING除外)。

[in] NdisVcHandle

指定调用的 VC 的句柄。 此句柄在最初使用 NdisCoCreateVc 创建 VC 时由 NDIS 提供,无论是由调用管理器还是客户端创建。 最近,调用管理器从由 CallMgrVcContext 指定的按 VC 状态获取此句柄,该状态作为输入参数传递给其 ProtocolCmCloseCall 函数。

[in, optional] NdisPartyHandle

如果 NdisVcHandle 表示点到点 VC 或多点连接上最后一个剩余一方的句柄,则指定 NULL,该 CM 从由 CallMgrPartyContext 指定的每方状态获取,作为输入参数传递给其 ProtocolCmCloseCall 函数。

返回值

备注

如果独立调用管理器的 ProtocolCmCloseCall 函数返回NDIS_STATUS_PENDING,则 CM 随后必须调用 NdisCmCloseCallComplete ,以通知客户端和 NDIS 中断连接的尝试已完成,无论是成功还是出现错误。 调用 NdisCmCloseCallComplete 会导致 NDIS 调用客户端的 ProtocolClCloseCallComplete 函数。

如果将NDIS_STATUS_SUCCESS作为 “状态”传递,则调用管理器应考虑 NdisVcHandle (和 NdisPartyHandle(如果任何) 在调用 NdisCmCloseCallComplete 后无法通过网络进行传输)。 如果调用管理器最初创建了 VC,它应使用刚刚传递给 NdisCmCloseCallComplete 的同一 NdisVcHandle 调用 NdisCoDeleteVc。 如果客户端创建了此 VC,则调用管理器可以通过
ProtocolVcContext,其中具有与输入参数相同的 NdisVcHandle

只有向 NDIS 注册为协议驱动程序的独立调用管理器才能调用 NdisCmCloseCallComplete。 提供集成呼叫管理支持的面向连接的微型端口驱动程序改为调用 NdisMCmCloseCallComplete

要求

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

另请参阅

NdisClCloseCall

NdisCoDeleteVc

NdisMCmCloseCallComplete

ProtocolClCloseCallComplete

ProtocolCoDeleteVc