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) |