NdisCmDispatchIncomingCloseCall 函数 (ndis.h)
NdisCmDispatchIncomingCloseCall 告知客户端断开活动或提供的呼叫,通常是因为呼叫管理器已收到来自网络的请求以关闭连接。
语法
void NdisCmDispatchIncomingCloseCall(
[in] NDIS_STATUS CloseStatus,
[in] NDIS_HANDLE NdisVcHandle,
[in, optional] PVOID Buffer,
[in] UINT Size
);
参数
[in] CloseStatus
指定 CM 确定NDIS_STATUS_XXX,指示断开连接请求的原因。 在正常网络操作期间,呼叫管理器传递NDIS_STATUS_SUCCESS,以指示它已收到由远程方发起的关闭活动呼叫的请求。
[in] NdisVcHandle
指定要断开连接的调用的 VC 的句柄。 此句柄在最初使用 NdisCoCreateVc 创建 VC 时由 NDIS 提供,无论是由调用管理器还是客户端。
[in, optional] Buffer
指向调用方分配的驻留缓冲区的指针,该缓冲区包含特定于协议的其他断开连接数据(如果有)。 根据基础介质,此指针可以为 NULL
[in] Size
指定缓冲区的大小(以字节为单位),如果缓冲区为 NULL,则为零。
返回值
无
备注
在正常网络操作过程中,独立 CM 调用 NdisCmDispatchIncomingCloseCall 并将 CloseStatus 设置为 NDIS_STATUS_SUCCESS,因为远程节点上的相应客户端已调用 NdisClClCloseCall。
但是,如果发生以下任一情况,调用管理器也可以调用 NdisCmDispatchIncomingCloseCall :
- 呼叫管理器已将传入呼叫套餐通知客户端。 当 CM 为 ProtocolCmIncomingCallComplete 函数是在客户端接受的情况下调用的,它会验证该客户端已修改的输入调用参数。 ProtocolCmIncomingCallComplete 确定客户端正在为连接建议不受支持的调用参数,因此调用 NdisCmDispatchIncomingCloseCall。
- 异常网络条件强制呼叫管理器关闭活动呼叫。 例如,如果当此客户端与远程连接之间的任何链接断开时通知调用管理器,则 CM 将调用 NdisCmDispatchIncomingCloseCall ,以防止客户端尝试 (或期望在此类中断的连接上) 进一步数据传输。
调用 NdisCmDispatchIncomingCloseCall 会导致 NDIS 调用客户端的 ProtocolClIncomingCloseCall 函数。
只有向 NDIS 注册为协议驱动程序的独立调用管理器才能调用 NdisCmDispatchIncomingCloseCall。 提供呼叫管理支持呼叫的面向连接的微型端口驱动程序 改为 NdisMCmDispatchIncomingCall 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | NDIS 6.0 和 NDIS 5.1 驱动程序支持 (请参阅 Windows Vista 中的 NdisCmDispatchIncomingCloseCall (NDIS 5.1) ) 。 NDIS 5.1 驱动程序支持 (请参阅 Windows XP 中的 NdisCmDispatchIncomingCloseCall (NDIS 5.1) ) 。 |
目标平台 | 桌面 |
标头 | ndis.h (包括 Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | Irql_CallManager_Function (ndis) |