| // Copyright 2012 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import "oaidl.idl"; |
| import "ocidl.idl"; |
| |
| [ |
| object, |
| uuid(b59b96da-83cb-40ee-9b91-c377400fc3e3), |
| nonextensible, |
| helpstring("IRdpDesktopSessionEventHandler Interface"), |
| pointer_default(unique) |
| ] |
| interface IRdpDesktopSessionEventHandler : IUnknown { |
| [ id(1), helpstring("Notifies that an RDP connection has been established " |
| "successfully.") ] |
| HRESULT OnRdpConnected(); |
| |
| [ id(2), helpstring("Notifies the delegate that the RDP connection has been " |
| "closed.") ] |
| HRESULT OnRdpClosed(); |
| }; |
| |
| [ |
| object, |
| uuid(6a7699f0-ee43-43e7-aa30-a6738f9bd470), |
| nonextensible, |
| helpstring("IRdpDesktopSession Interface"), |
| pointer_default(unique) |
| ] |
| interface IRdpDesktopSession : IUnknown { |
| [ id(1), helpstring("Initiates a loopback RDP connection to spawn a new " |
| "Windows session. |width| and |height| specify the " |
| "initial screen resolution, they must be scaled to |dpi|." |
| " |terminal_id| specifies a unique value to be used to " |
| "identify this connection. |port_number| specifies the " |
| "RDP port number to use.") ] |
| HRESULT Connect([in] long width, [in] long height, [in] long dpi_x, |
| [in] long dpi_y, [in] BSTR terminal_id, |
| [in] DWORD port_number, |
| [in] IRdpDesktopSessionEventHandler* event_handler); |
| |
| [ id(2), helpstring("Shuts down the connection created by Connect().") ] |
| HRESULT Disconnect(); |
| |
| [ id(3), helpstring("Changes the screen resolution.") ] |
| HRESULT ChangeResolution([in] long width, [in] long height, [in] long dpi_x, |
| [in] long dpi_y); |
| |
| [ id(4), helpstring("Sends Secure Attention Sequence to the session.") ] |
| HRESULT InjectSas(); |
| }; |
| |
| [ |
| uuid(b6396c45-b0cc-456b-9f49-f12964ee6df4), |
| version(1.0), |
| helpstring("Chromoting 1.0 Type Library") |
| ] |
| library ChromotingLib { |
| importlib("stdole2.tlb"); |
| |
| [ |
| uuid(PLACEHOLDER-GUID-6741fd0a-6a8a-5838-a35e-8088697e2088), |
| helpstring("RdpDesktopSession Class") |
| ] |
| coclass RdpDesktopSession { |
| [default] interface IRdpDesktopSession; |
| }; |
| }; |