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