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 를 구현하고 다음 단계를 수행할 수 있습니다.
- RDP 클라이언트 컨트롤 개체에서 IUnknown::QueryInterface 를 호출하여 IConnectionPointContainer 인터페이스에 대한 포인터를 가져옵니다.
-
riid 매개 변수로 지정하여
__uuidof(IMsTscAxEvents)
IConnectionPointContainer::FindConnectionPoint를 호출하여 클라이언트 컨트롤 이벤트의 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 Application Guard 시나리오에서 내보내집니다. 정상적인 작업 중에는 내보내지 않아야 합니다. |
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으로 정의됩니다. |