IMsTscAxEvents 接口
包括从服务器接收与客户端控制事件相关的信息的方法。 事件包括连接和断开连接、全屏模式请求、成功登录和错误条件。
成员
IMsTscAxEvents 接口继承自 IDispatch 接口。 IMsTscAxEvents 还具有以下类型的成员:
方法
IMsTscAxEvents 接口具有以下方法。
方法 | 说明 |
---|---|
OnAuthenticationWarningDismissed | 在 ActiveX 控件显示身份验证对话框后调用, (例如,证书错误对话框) 。 |
OnAuthenticationWarningDisplayed | 在 ActiveX 控件显示身份验证对话框之前调用, (例如,证书错误对话框) 。 |
OnAutoReconnected | 当客户端控件自动重新连接到远程会话时调用。 |
OnAutoReconnecting | 在客户端自动将会话与 RD 会话主机服务器重新连接的过程中调用。 |
OnAutoReconnecting2 | 在客户端自动将会话与 RD 会话主机服务器重新连接的过程中调用。 |
OnChannelReceivedData | 当客户端在可编写脚本的虚拟通道上接收数据时调用。 |
OnConfirmClose | 在客户端调用 IMsRdpClient::RequestClose 方法时调用。 |
OnConnected | 当客户端控件正在与 RD 会话主机服务器建立连接时调用。 |
OnConnecting | 在客户端控件开始连接到服务器以响应对 IMsTscAx::Connect 的调用时调用。 |
OnConnectionBarPullDown | 当用户在连接栏上向下拖动时调用。 |
OnDevicesButtonPressed | 按下连接栏中的设备按钮时调用。 |
OnDisconnected | 当客户端控件与 RD 会话主机服务器断开连接时调用。 |
OnEnterFullScreenMode | 当客户端进入全屏模式时调用。 例如,当用户按下全屏模式 快捷键 组合 (ctrl+Alt+BREAK) 时,将调用此事件。 |
OnFatalError | 当客户端控件遇到严重错误时调用。 |
OnFocusReleased | 按下释放焦点组合键时调用。 例如,当用户按 Ctrl+Alt+向左键或 Ctrl+Alt+向右键组合键时,将调用此事件。 |
OnIdleTimeoutNotification | 在 IMsRdpClientAdvancedSettings::p ut_MinutesToIdleTimeout 方法设置的时间段内用户未输入鼠标或键盘时调用。 |
OnLeaveFullScreenMode | 在客户端退出全屏模式时调用。 例如,当用户按下全屏模式 快捷键 组合 (ctrl+Alt+BREAK) 时,将调用此事件。 |
OnLoginComplete | 在显示“Windows 登录”对话框后,在客户端控件成功登录到 RD 会话主机服务器时调用。 |
OnLogonError | 在发生登录错误或其他登录事件时调用。 |
OnMouseInputModeChanged | 在鼠标输入模式更改时调用。 |
OnNetworkStatusChanged | 在网络状态更改时调用。 |
OnReceivedTSPublicKey | 当客户端从服务器检索公钥时,在连接序列期间调用。 仅当 NotifyTSPublicKey 属性 VARIANT_TRUE时,才会调用此事件。 |
OnRemoteDesktopSizeChange | 调用以指示远程桌面上的客户端控件的大小已更改,以响应客户端控件操作。 |
OnRemoteProgramDisplayed | 显示 RemoteApp 程序时调用。 |
OnRemoteProgramResult | 当 RemoteApp 程序将结果返回给客户端控件时调用。 |
OnRemoteWindowDisplayed | 显示 RemoteApp 窗口时调用。 |
OnRequestContainerMinimize | 当用户在全屏模式下按下连接栏上的 “最小化 ”按钮时调用。 触发此事件是容器应用程序最小化自身的请求。 |
OnRequestGoFullScreen | 当客户端请求切换到全屏模式并且调用 IMsTscAdvancedSettings::p ut_ContainerHandledFullScreen 方法以将 ContainerHandledFullScreen 属性设置为非零值时调用。 |
OnRequestLeaveFullScreen | 当客户端请求退出全屏模式并且 IMsTscAdvancedSettings::p ut_ContainerHandledFullScreen 属性已设置为非零值时调用。 |
OnServiceMessageReceived | 在客户端收到系统消息时调用。 |
OnUserNameAcquired | 在控件获取用户名时调用。 |
OnWarning | 当客户端控件遇到非致命错误条件时调用。 |
注解
有关远程桌面 Web 连接的详细信息,请参阅 远程桌面 Web 连接的要求。
RDP 客户端控件对象 (MsRdpClient、 MsRdpClientNonScriptable 及其派生) 是可连接对象。 若要从远程桌面 ActiveX 控件接收有关远程会话的事件,应用程序可以实现 IMstscAxEvents 并执行以下步骤。
- 在 RDP 客户端控件对象上调用 IUnknown::QueryInterface 以获取指向 IConnectionPointContainer 接口的指针。
- 调用 IConnectionPointContainer::FindConnectionPoint,指定
__uuidof(IMsTscAxEvents)
为 riid 参数,以获取指向客户端控件事件的 IConnectionPoint 接口的指针。 - 调用 IConnectionPoint::Advise 以指定要在其中调度事件的调用应用程序自己的 IMsTscAxEvents 实现。
在实现 IDispatch::Invoke 时,应用程序可以使用以下 DISPID。
dispIdMember | 调度到 方法 |
---|---|
DISPID_CONNECTING = 1 | OnConnecting |
DISPID_CONNECTED = 2 | OnConnected |
DISPID_LOGINCOMPLETE = 3 | OnLoginComplete |
DISPID_DISCONNECTED = 4 | OnDisconnected |
DISPID_ENTERFULLSCREENMODE = 5 | OnEnterFullScreenMode |
DISPID_LEAVEFULLSCREENMODE = 6 | OnLeaveFullScreenMode |
DISPID_CHANNELRECEIVEDDATA = 7 | OnChannelReceivedData |
DISPID_REQUESTGOFULLSCREEN = 8 | OnRequestGoFullScreen |
DISPID_REQUESTLEAVEFULLSCREEN = 9 | OnRequestLeaveFullScreen |
DISPID_FATALERROR = 10 | OnFatalError |
DISPID_WARNING = 11 | OnWarning |
DISPID_REMOTEDESKTOPSIZECHANGE = 12 | OnRemoteDesktopSizeChange |
DISPID_IDLETIMEOUTNOTIFICATION = 13 | OnIdleTimeoutNotification |
DISPID_REQUESTCONTAINERMINIMIZE = 14 | OnRequestContainerMinimize |
DISPID_CONFIRMCLOSE = 15 | OnConfirmClose |
DISPID_RECEIVEDTSPUBLICKEY = 16 | OnReceivedTSPublicKey |
DISPID_AUTORECONNECTING = 17 | OnAutoReconnecting |
DISPID_INTERNALDIALOGDISPLAYED = 18 | OnAuthenticationWarningDisplayed |
DISPID_INTERNALDIALOGDISMISSED = 19 | OnAuthenticationWarningDismissed |
DISPID_ONREMOTEPROGRAMRESULT = 20 | OnRemoteProgramResult |
DISPID_ONREMOTEPROGRAMDISPLAYED = 21 | OnRemoteProgramDisplayed |
DISPID_LOGONERROR = 22 | OnLogonError |
DISPID_FOCUSRELEASED = 23 | OnFocusReleased |
DISPID_USERNAMEACQUIRED = 24 | OnUserNameAcquired |
DISPID_MOUSEINPUTMODECHANGED = 26 | OnMouseInputModeChanged |
DISPID_ONSTATUSINFO = 27 | 无。 向应用程序提供VT_UI4状态代码。 应用程序可以将“pDispParams-rgvarg>[0].ulVal”“中包含的状态代码传递给 IMsRdpClient7::GetStatusText 以获取关联的状态文本。 |
DISPID_SERVICEMESSAGERECEIVED = 28 | OnServiceMessageReceived |
DISPID_ONREMOTEWINDOWDISPLAYED = 29 | OnRemoteWindowDisplayed |
DISPID_CONNECTIONBARPULLDOWN = 30 | OnConnectionBarPullDown |
DISPID_ONNETWORKSTATUSCHANGED = 32 | OnNetworkStatusChanged |
DISPID_AUTORECONNECTED = 33 | OnAutoReconnected |
DISPID_AUTORECONNECTING2 = 34 | OnAutoReconnecting2 |
DISPID_CONNECTIONBARDEVICES = 35 | OnDevicesButtonPressed |
DISPID_HVSINOTIFICATION = 36 | 无。 提供VT_UI4事件代码。 此事件在Microsoft Defender 应用程序防护方案中发出。 正常操作期间不应发出它。 |
DISPID_ONWOKEUPANDRECONNECTING = 37 | 无。 远程桌面 ActiveX 控件不再发出此事件。 |
DISPID_ONLOCATIONREDIRECTIONENABLEDRECEIVED = 39 | 无。 此事件通知应用程序,它可以开始使用 IMsRdpClientNonScriptable6::SendLocation2D 或 IMsRdpClientNonScriptable6::SendLocation3D 到服务器的位置,以便客户端的地理位置可以反映在远程会话中。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista |
最低受支持的服务器 |
Windows Server 2008 |
类型库 |
|
DLL |
|
CLSID |
CLSID_MsRdpClient定义为 791fa017-2de3-492e-acc5-53c67a2b94d0 CLSID_MsRdpClient10定义为 C0EFA91A-EEB7-41C7-97FA-F0ED645EFB24 CLSID_MsRdpClient10NotSafeForScripting定义为 A0C63C30-F08D-4AB4-907C-34905D770C7D CLSID_MsRdpClient2定义为 9059F30F-4EB1-4BD2-9FDC-36F43A218F4A CLSID_MsRdpClient2a定义为 971127BB-259F-48C2-BD75-5F97A3331551 CLSID_MsRdpClient2NotSafeForScripting定义为 3523C2FB-4031-44E4-9A3B-F1E94986EE7F CLSID_MsRdpClient3定义为 7584C670-2274-4EFB-B00B-D6AABA6D3850 CLSID_MsRdpClient3a定义为 6A6F4B83-45C5-4CA9-BDD9-0D81C12295E4 CLSID_MsRdpClient3NotSafeForScripting定义为 ACE575FD-1FCF-4074-9401-EBAB990FA9DE CLSID_MsRdpClient4定义为 4EDCB26C-D24C-4E72-AF07-B576699AC0DE CLSID_MsRdpClient4a定义为 54CE37E0-9834-41AE-9896-4DAB69DC022B CLSID_MsRdpClient4NotSafeForScripting定义为 6AE29350-321B-42BE-BBE5-12FB5270C0DE CLSID_MsRdpClient5定义为 4EB89FF4-7F78-4A0F-8B8D-2BF02E94E4B2 CLSID_MsRdpClient5NotSafeForScripting定义为 4EB2F086-C818-447E-B32C-C51CE2B30D31 CLSID_MsRdpClient6定义为 7390F3D8-0439-4C05-91E3-CF5CB290C3D0 CLSID_MsRdpClient6NotSafeForScripting定义为 D2EA46A7-C2BF-426B-AF24-E19C44456399 CLSID_MsRdpClient7定义为 A9D7038D-B5ED-472E-9C47-94BEA90A5910 CLSID_MsRdpClient7NotSafeForScripting定义为 54D38BF7-B1EF-4479-9674-1BD6EA465258 CLSID_MsRdpClient8定义为 5F681803-2900-4C43-A1CC-CF405404A676 CLSID_MsRdpClient8NotSafeForScripting定义为 A3BC03A0-041D-42E3-AD22-882B7865C9C5 CLSID_MsRdpClient9定义为 301B94BA-5D25-4A12-BFFE-3B6E7A616585 CLSID_MsRdpClient9NotSafeForScripting定义为 8B918B82-7985-4C24-89DF-C33AD2BBFBCD CLSID_MsRdpClientNotSafeForScripting定义为 7CACBD7B-0D99-468F-AC33-22E495C0AFE5 CLSID_MsTscAx定义为 1FB464C8-09BB-4017-A2F5-EB742F04392F CLSID_MsTscAxNotSafeForScripting定义为 A41A4187-5A86-4E26-B40A-856F9035D9CB |
IID |
IID_IMsTscAxEvents定义为 336d5562-efa8-482e-8cb3-c5c0fc7a7db6 |