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

另请参阅

VirtualChannelInit