CHANNEL_INIT_EVENT_FN回调函数 (cchannel.h)
远程桌面服务调用的应用程序定义的回调函数,以通知客户端 DLL 虚拟通道事件。
PCHANNEL_INIT_EVENT_FN类型定义指向此回调函数的指针。 VirtualChannelInitEvent 是应用程序定义的函数名称或库定义的函数名称的占位符。
语法
CHANNEL_INIT_EVENT_FN ChannelInitEventFn;
VOID VCAPITYPE ChannelInitEventFn(
[in] LPVOID pInitHandle,
[in] UINT event,
[in] LPVOID pData,
[in] UINT dataLength
)
{...}
参数
[in] pInitHandle
客户端连接的句柄。 这是 VirtualChannelInit 函数的 ppInitHandle 参数中返回的句柄。
[in] event
指示导致通知的事件。 此参数的取值可为下列值之一:
CHANNEL_EVENT_INITIALIZED (0)
远程桌面连接 (RDC) 客户端初始化已完成。 pData 参数为 NULL。
CHANNEL_EVENT_CONNECTED (1)
已与支持虚拟通道的 RD 会话主机服务器建立连接。 pData 参数是指向具有服务器名称的以 null 结尾的字符串的指针。
CHANNEL_EVENT_V1_CONNECTED (2)
已与不支持虚拟通道的 RD 会话主机服务器建立连接。 pData 参数为 NULL。
CHANNEL_EVENT_DISCONNECTED (3)
与 RD 会话主机服务器的连接已断开连接。 pData 参数为 NULL。
CHANNEL_EVENT_TERMINATED (4)
客户端已终止。 pData 参数为 NULL。
CHANNEL_EVENT_REMOTE_CONTROL_START (5)
远程控制操作已启动。 pData 参数为 NULL。
CHANNEL_EVENT_REMOTE_CONTROL_STOP (6)
远程控制操作已终止。 pData 参数是指向包含服务器名称的以 null 结尾的字符串的指针。
[in] pData
指向事件的其他数据的指针。 数据类型取决于事件,如前面事件说明中所述。
[in] dataLength
指定 pData 缓冲区中数据的大小(以字节为单位)。
返回值
此函数不返回值。
注解
客户端 DLL 使用 VirtualChannelInit 函数将其 VirtualChannelInitEvent 函数注册到远程桌面服务。
此函数可按句柄重入。 函数在执行时可以调用,但不在同一句柄上多次调用。
只有在 VirtualChannelEntry 完成后,才会调用此函数。
如果将连接转移到另一个会话,则不会发送CHANNEL_EVENT_CONNECTED和CHANNEL_EVENT_DISCONNECTED事件通知。 但是,管理要向其传输连接的会话的服务器端插件将收到重新连接通知。 服务器端工具(如 Tscon.exe)可用于传输连接。 有关重新连接通知的详细信息,请参阅监视会话Connections和断开连接。
如果必须通知用户模式插件已重新连接 (例如,如果必须重置其状态) ,则服务器端插件应向客户端发送通知消息。 此通知应使用插件用来相互通信的协议。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | cchannel.h |