IMsTscAxEvents 인터페이스

클라이언트 제어 이벤트와 관련된 서버에서 정보를 수신하는 메서드를 포함합니다. 이벤트에는 연결 및 연결 끊기, 전체 화면 모드 요청, 성공적인 로그온 및 오류 조건이 포함됩니다.

멤버

IMsTscAxEvents 인터페이스는IDispatch 인터페이스에서 상속됩니다. IMsTscAxEvents 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IMsTscAxEvents 인터페이스에는 이러한 메서드가 있습니다.

메서드 Description
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 속성을 0이 아닌 값으로 설정할 때 호출됩니다.
OnRequestLeaveFullScreen 클라이언트가 전체 화면 모드를 종료하도록 요청하고 IMsTscAdvancedSettings::p ut_ContainerHandledFullScreen 속성이 0이 아닌 값으로 설정된 경우 호출됩니다.
OnServiceMessageReceived 클라이언트가 시스템 메시지를 받을 때 호출됩니다.
OnUserNameAcquired 컨트롤에서 사용자 이름을 가져올 때 호출됩니다.
OnWarning 클라이언트 컨트롤에 치명적이지 않은 오류 조건이 발생할 때 호출됩니다.

설명

원격 데스크톱 웹 연결에 대한 자세한 내용은 원격 데스크톱 웹 연결에 대한 요구 사항을 참조하세요.

RDP 클라이언트 컨트롤 개체(MsRdpClient, MsRdpClientNonScriptable 및 해당 파생 개체)는 연결 가능한 개체입니다. 원격 세션에 대한 원격 데스크톱 ActiveX 컨트롤에서 이벤트를 수신하기 위해 애플리케이션은 IMstscAxEvents 를 구현하고 다음 단계를 수행할 수 있습니다.

  1. RDP 클라이언트 컨트롤 개체에서 IUnknown::QueryInterface 를 호출하여 IConnectionPointContainer 인터페이스에 대한 포인터를 가져옵니다.
  2. riid 매개 변수로 지정하여 __uuidof(IMsTscAxEvents)IConnectionPointContainer::FindConnectionPoint를 호출하여 클라이언트 컨트롤 이벤트의 IConnectionPoint 인터페이스에 대한 포인터를 가져옵니다.
  3. 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 Application Guard 시나리오에서 내보내집니다. 정상적인 작업 중에는 내보내지 않아야 합니다.
DISPID_ONWOKEUPANDRECONNECTING = 37 없음 이 이벤트는 더 이상 원격 데스크톱 ActiveX 컨트롤에서 내보내지지 않습니다.
DISPID_ONLOCATIONREDIRECTIONENABLEDRECEIVED = 39 없음 이 이벤트는 IMsRdpClientNonScriptable6::SendLocation2D 또는 IMsRdpClientNonScriptable6::SendLocation3D 를 사용하여 클라이언트의 지리적 위치를 원격 세션에 반영할 수 있도록 서버에 대한 위치를 애플리케이션에 알린 것입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
유형 라이브러리
MsTscAx.dll
DLL
MsTscAx.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으로 정의됩니다.

참고 항목

IDispatch

원격 데스크톱 웹 연결 참조