1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4//
5// C++ source equivalent of Win32 type library MsTscAx.MsTscAx.
6// This file has to be checked-in due to a bug in the VS2013 64-32 cross
7// compiler which results in invalid interfaces (crbug.com/318952).
8//
9// This file was generated using the following pragma directive:
10// #import "PROGID:MsTscAx.MsTscAx" \
11//     exclude("wireHWND", "_RemotableHandle", "__MIDL_IWinTypes_0009"), \
12//     rename_namespace("mstsc") raw_interfaces_only no_implementation
13//
14// Created by Microsoft (R) C/C++ Compiler Version 10.00.40219.01 (c995c7e6).
15// compiler-generated file created 01/16/14 at 11:56:07 - DO NOT EDIT!
16
17#pragma once
18#pragma pack(push, 8)
19
20#include <comdef.h>
21
22namespace mstsc {
23
24//
25// Forward references and typedefs
26//
27
28struct __declspec(uuid("8c11efa1-92c3-11d1-bc1e-00c04fa31489"))
29/* LIBID */ __MSTSCLib;
30struct __declspec(uuid("336d5562-efa8-482e-8cb3-c5c0fc7a7db6"))
31/* dispinterface */ IMsTscAxEvents;
32enum __MIDL___MIDL_itf_mstsax_0000_0036_0001;
33enum __MIDL___MIDL_itf_mstsax_0000_0046_0001;
34enum __MIDL___MIDL_itf_mstsax_0000_0046_0002;
35struct /* coclass */ MsTscAxNotSafeForScripting;
36struct __declspec(uuid("92b4a539-7115-4b7c-a5a9-e5d9efc2780a"))
37/* dual interface */ IMsRdpClient;
38struct __declspec(uuid("8c11efae-92c3-11d1-bc1e-00c04fa31489"))
39/* dual interface */ IMsTscAx;
40struct __declspec(uuid("327bb5cd-834e-4400-aef2-b30e15e5d682"))
41/* dual interface */ IMsTscAx_Redist;
42struct __declspec(uuid("c9d65442-a0f9-45b2-8f73-d61d2db8cbb6"))
43/* dual interface */ IMsTscSecuredSettings;
44struct __declspec(uuid("809945cc-4b3b-4a92-a6b0-dbf9b5f2ef2d"))
45/* dual interface */ IMsTscAdvancedSettings;
46struct __declspec(uuid("209d0eb9-6254-47b1-9033-a98dae55bb27"))
47/* dual interface */ IMsTscDebug;
48struct __declspec(uuid("3c65b4ab-12b3-465b-acd4-b8dad3bff9e2"))
49/* dual interface */ IMsRdpClientAdvancedSettings;
50struct __declspec(uuid("605befcf-39c1-45cc-a811-068fb7be346d"))
51/* dual interface */ IMsRdpClientSecuredSettings;
52enum __MIDL___MIDL_itf_mstsax_0000_0000_0001;
53enum __MIDL_IMsRdpClient_0001;
54struct __declspec(uuid("c1e6743a-41c1-4a74-832a-0dd06c1c7a0e"))
55/* interface */ IMsTscNonScriptable;
56struct __declspec(uuid("2f079c4c-87b2-4afd-97ab-20cdb43038ae"))
57/* interface */ IMsRdpClientNonScriptable;
58struct /* coclass */ MsTscAx;
59struct /* coclass */ MsRdpClientNotSafeForScripting;
60struct /* coclass */ MsRdpClient;
61struct /* coclass */ MsRdpClient2NotSafeForScripting;
62struct __declspec(uuid("e7e17dc4-3b71-4ba7-a8e6-281ffadca28f"))
63/* dual interface */ IMsRdpClient2;
64struct __declspec(uuid("9ac42117-2b76-4320-aa44-0e616ab8437b"))
65/* dual interface */ IMsRdpClientAdvancedSettings2;
66struct /* coclass */ MsRdpClient2;
67struct /* coclass */ MsRdpClient2a;
68struct /* coclass */ MsRdpClient3NotSafeForScripting;
69struct __declspec(uuid("91b7cbc5-a72e-4fa0-9300-d647d7e897ff"))
70/* dual interface */ IMsRdpClient3;
71struct __declspec(uuid("19cd856b-c542-4c53-acee-f127e3be1a59"))
72/* dual interface */ IMsRdpClientAdvancedSettings3;
73struct /* coclass */ MsRdpClient3;
74struct /* coclass */ MsRdpClient3a;
75struct /* coclass */ MsRdpClient4NotSafeForScripting;
76struct __declspec(uuid("095e0738-d97d-488b-b9f6-dd0e8d66c0de"))
77/* dual interface */ IMsRdpClient4;
78struct __declspec(uuid("fba7f64e-7345-4405-ae50-fa4a763dc0de"))
79/* dual interface */ IMsRdpClientAdvancedSettings4;
80struct __declspec(uuid("17a5e535-4072-4fa4-af32-c8d0d47345e9"))
81/* interface */ IMsRdpClientNonScriptable2;
82struct /* coclass */ MsRdpClient4;
83struct /* coclass */ MsRdpClient4a;
84struct /* coclass */ MsRdpClient5NotSafeForScripting;
85struct __declspec(uuid("4eb5335b-6429-477d-b922-e06a28ecd8bf"))
86/* dual interface */ IMsRdpClient5;
87struct __declspec(uuid("720298c0-a099-46f5-9f82-96921bae4701"))
88/* dual interface */ IMsRdpClientTransportSettings;
89struct __declspec(uuid("fba7f64e-6783-4405-da45-fa4a763dabd0"))
90/* dual interface */ IMsRdpClientAdvancedSettings5;
91struct __declspec(uuid("fdd029f9-467a-4c49-8529-64b521dbd1b4"))
92/* dual interface */ ITSRemoteProgram;
93struct __declspec(uuid("d012ae6d-c19a-4bfe-b367-201f8911f134"))
94/* dual interface */ IMsRdpClientShell;
95struct __declspec(uuid("b3378d90-0728-45c7-8ed7-b6159fb92219"))
96/* interface */ IMsRdpClientNonScriptable3;
97struct __declspec(uuid("56540617-d281-488c-8738-6a8fdf64a118"))
98/* interface */ IMsRdpDeviceCollection;
99struct __declspec(uuid("60c3b9c8-9e92-4f5e-a3e7-604a912093ea"))
100/* interface */ IMsRdpDevice;
101struct __declspec(uuid("7ff17599-da2c-4677-ad35-f60c04fe1585"))
102/* interface */ IMsRdpDriveCollection;
103struct __declspec(uuid("d28b5458-f694-47a8-8e61-40356a767e46"))
104/* interface */ IMsRdpDrive;
105struct /* coclass */ MsRdpClient5;
106struct /* coclass */ MsRdpClient6NotSafeForScripting;
107struct __declspec(uuid("d43b7d80-8517-4b6d-9eac-96ad6800d7f2"))
108/* dual interface */ IMsRdpClient6;
109struct __declspec(uuid("222c4b5d-45d9-4df0-a7c6-60cf9089d285"))
110/* dual interface */ IMsRdpClientAdvancedSettings6;
111struct __declspec(uuid("67341688-d606-4c73-a5d2-2e0489009319"))
112/* dual interface */ IMsRdpClientTransportSettings2;
113struct __declspec(uuid("f50fa8aa-1c7d-4f59-b15c-a90cacae1fcb"))
114/* interface */ IMsRdpClientNonScriptable4;
115enum __MIDL_IMsRdpClientNonScriptable4_0001;
116struct /* coclass */ MsRdpClient6;
117struct /* coclass */ MsRdpClient7NotSafeForScripting;
118struct __declspec(uuid("b2a5b5ce-3461-444a-91d4-add26d070638"))
119/* dual interface */ IMsRdpClient7;
120struct __declspec(uuid("26036036-4010-4578-8091-0db9a1edf9c3"))
121/* dual interface */ IMsRdpClientAdvancedSettings7;
122struct __declspec(uuid("3d5b21ac-748d-41de-8f30-e15169586bd4"))
123/* dual interface */ IMsRdpClientTransportSettings3;
124struct __declspec(uuid("25f2ce20-8b1d-4971-a7cd-549dae201fc0"))
125/* dual interface */ IMsRdpClientSecuredSettings2;
126struct __declspec(uuid("92c38a7d-241a-418c-9936-099872c9af20"))
127/* dual interface */ ITSRemoteProgram2;
128struct __declspec(uuid("4f6996d5-d7b1-412c-b0ff-063718566907"))
129/* interface */ IMsRdpClientNonScriptable5;
130struct __declspec(uuid("fdd029f9-9574-4def-8529-64b521cccaa4"))
131/* interface */ IMsRdpPreferredRedirectionInfo;
132struct __declspec(uuid("302d8188-0052-4807-806a-362b628f9ac5"))
133/* interface */ IMsRdpExtendedSettings;
134struct /* coclass */ MsRdpClient7;
135struct /* coclass */ MsRdpClient8NotSafeForScripting;
136struct __declspec(uuid("4247e044-9271-43a9-bc49-e2ad9e855d62"))
137/* dual interface */ IMsRdpClient8;
138enum __MIDL___MIDL_itf_mstsax_0000_0000_0004;
139struct __declspec(uuid("89acb528-2557-4d16-8625-226a30e97e9a"))
140/* dual interface */ IMsRdpClientAdvancedSettings8;
141enum __MIDL___MIDL_itf_mstsax_0000_0000_0003;
142enum __MIDL_IMsRdpClient8_0001;
143struct /* coclass */ MsRdpClient8;
144struct __declspec(uuid("079863b7-6d47-4105-8bfe-0cdcb360e67d"))
145/* dispinterface */ IRemoteDesktopClientEvents;
146struct /* coclass */ RemoteDesktopClient;
147struct __declspec(uuid("57d25668-625a-4905-be4e-304caa13f89c"))
148/* dual interface */ IRemoteDesktopClient;
149struct __declspec(uuid("48a0f2a7-2713-431f-bbac-6f4558e7d64d"))
150/* dual interface */ IRemoteDesktopClientSettings;
151struct __declspec(uuid("7d54bc4e-1028-45d4-8b0a-b9b6bffba176"))
152/* dual interface */ IRemoteDesktopClientActions;
153enum __MIDL_IRemoteDesktopClientActions_0001;
154enum __MIDL_IRemoteDesktopClientActions_0002;
155enum __MIDL_IRemoteDesktopClientActions_0003;
156struct __declspec(uuid("260ec22d-8cbc-44b5-9e88-2a37f6c93ae9"))
157/* dual interface */ IRemoteDesktopClientTouchPointer;
158typedef enum __MIDL___MIDL_itf_mstsax_0000_0036_0001 AutoReconnectContinueState;
159typedef enum __MIDL___MIDL_itf_mstsax_0000_0046_0001 RemoteProgramResult;
160typedef enum __MIDL___MIDL_itf_mstsax_0000_0046_0002 RemoteWindowDisplayedAttribute;
161typedef enum __MIDL___MIDL_itf_mstsax_0000_0000_0001 ExtendedDisconnectReasonCode;
162typedef enum __MIDL_IMsRdpClient_0001 ControlCloseStatus;
163#if !defined(_WIN64)
164typedef __w64 unsigned long UINT_PTR;
165#else
166typedef unsigned __int64 UINT_PTR;
167#endif
168#if !defined(_WIN64)
169typedef __w64 long LONG_PTR;
170#else
171typedef __int64 LONG_PTR;
172#endif
173typedef enum __MIDL_IMsRdpClientNonScriptable4_0001 RedirectionWarningType;
174typedef enum __MIDL___MIDL_itf_mstsax_0000_0000_0004 RemoteSessionActionType;
175typedef enum __MIDL___MIDL_itf_mstsax_0000_0000_0003 ClientSpec;
176typedef enum __MIDL_IMsRdpClient8_0001 ControlReconnectStatus;
177typedef enum __MIDL_IRemoteDesktopClientActions_0001 RemoteActionType;
178typedef enum __MIDL_IRemoteDesktopClientActions_0002 SnapshotEncodingType;
179typedef enum __MIDL_IRemoteDesktopClientActions_0003 SnapshotFormatType;
180
181//
182// Smart pointer typedef declarations
183//
184
185_COM_SMARTPTR_TYPEDEF(IMsTscAxEvents, __uuidof(IMsTscAxEvents));
186_COM_SMARTPTR_TYPEDEF(IMsTscAx_Redist, __uuidof(IMsTscAx_Redist));
187_COM_SMARTPTR_TYPEDEF(IMsTscSecuredSettings, __uuidof(IMsTscSecuredSettings));
188_COM_SMARTPTR_TYPEDEF(IMsTscAdvancedSettings, __uuidof(IMsTscAdvancedSettings));
189_COM_SMARTPTR_TYPEDEF(IMsTscDebug, __uuidof(IMsTscDebug));
190_COM_SMARTPTR_TYPEDEF(IMsTscAx, __uuidof(IMsTscAx));
191_COM_SMARTPTR_TYPEDEF(IMsRdpClientAdvancedSettings, __uuidof(IMsRdpClientAdvancedSettings));
192_COM_SMARTPTR_TYPEDEF(IMsRdpClientSecuredSettings, __uuidof(IMsRdpClientSecuredSettings));
193_COM_SMARTPTR_TYPEDEF(IMsRdpClient, __uuidof(IMsRdpClient));
194_COM_SMARTPTR_TYPEDEF(IMsTscNonScriptable, __uuidof(IMsTscNonScriptable));
195_COM_SMARTPTR_TYPEDEF(IMsRdpClientNonScriptable, __uuidof(IMsRdpClientNonScriptable));
196_COM_SMARTPTR_TYPEDEF(IMsRdpClientAdvancedSettings2, __uuidof(IMsRdpClientAdvancedSettings2));
197_COM_SMARTPTR_TYPEDEF(IMsRdpClient2, __uuidof(IMsRdpClient2));
198_COM_SMARTPTR_TYPEDEF(IMsRdpClientAdvancedSettings3, __uuidof(IMsRdpClientAdvancedSettings3));
199_COM_SMARTPTR_TYPEDEF(IMsRdpClient3, __uuidof(IMsRdpClient3));
200_COM_SMARTPTR_TYPEDEF(IMsRdpClientAdvancedSettings4, __uuidof(IMsRdpClientAdvancedSettings4));
201_COM_SMARTPTR_TYPEDEF(IMsRdpClient4, __uuidof(IMsRdpClient4));
202_COM_SMARTPTR_TYPEDEF(IMsRdpClientNonScriptable2, __uuidof(IMsRdpClientNonScriptable2));
203_COM_SMARTPTR_TYPEDEF(IMsRdpClientTransportSettings, __uuidof(IMsRdpClientTransportSettings));
204_COM_SMARTPTR_TYPEDEF(IMsRdpClientAdvancedSettings5, __uuidof(IMsRdpClientAdvancedSettings5));
205_COM_SMARTPTR_TYPEDEF(ITSRemoteProgram, __uuidof(ITSRemoteProgram));
206_COM_SMARTPTR_TYPEDEF(IMsRdpClientShell, __uuidof(IMsRdpClientShell));
207_COM_SMARTPTR_TYPEDEF(IMsRdpClient5, __uuidof(IMsRdpClient5));
208_COM_SMARTPTR_TYPEDEF(IMsRdpDevice, __uuidof(IMsRdpDevice));
209_COM_SMARTPTR_TYPEDEF(IMsRdpDeviceCollection, __uuidof(IMsRdpDeviceCollection));
210_COM_SMARTPTR_TYPEDEF(IMsRdpDrive, __uuidof(IMsRdpDrive));
211_COM_SMARTPTR_TYPEDEF(IMsRdpDriveCollection, __uuidof(IMsRdpDriveCollection));
212_COM_SMARTPTR_TYPEDEF(IMsRdpClientNonScriptable3, __uuidof(IMsRdpClientNonScriptable3));
213_COM_SMARTPTR_TYPEDEF(IMsRdpClientAdvancedSettings6, __uuidof(IMsRdpClientAdvancedSettings6));
214_COM_SMARTPTR_TYPEDEF(IMsRdpClientTransportSettings2, __uuidof(IMsRdpClientTransportSettings2));
215_COM_SMARTPTR_TYPEDEF(IMsRdpClient6, __uuidof(IMsRdpClient6));
216_COM_SMARTPTR_TYPEDEF(IMsRdpClientNonScriptable4, __uuidof(IMsRdpClientNonScriptable4));
217_COM_SMARTPTR_TYPEDEF(IMsRdpClientAdvancedSettings7, __uuidof(IMsRdpClientAdvancedSettings7));
218_COM_SMARTPTR_TYPEDEF(IMsRdpClientTransportSettings3, __uuidof(IMsRdpClientTransportSettings3));
219_COM_SMARTPTR_TYPEDEF(IMsRdpClientSecuredSettings2, __uuidof(IMsRdpClientSecuredSettings2));
220_COM_SMARTPTR_TYPEDEF(ITSRemoteProgram2, __uuidof(ITSRemoteProgram2));
221_COM_SMARTPTR_TYPEDEF(IMsRdpClient7, __uuidof(IMsRdpClient7));
222_COM_SMARTPTR_TYPEDEF(IMsRdpClientNonScriptable5, __uuidof(IMsRdpClientNonScriptable5));
223_COM_SMARTPTR_TYPEDEF(IMsRdpPreferredRedirectionInfo, __uuidof(IMsRdpPreferredRedirectionInfo));
224_COM_SMARTPTR_TYPEDEF(IMsRdpExtendedSettings, __uuidof(IMsRdpExtendedSettings));
225_COM_SMARTPTR_TYPEDEF(IMsRdpClientAdvancedSettings8, __uuidof(IMsRdpClientAdvancedSettings8));
226_COM_SMARTPTR_TYPEDEF(IMsRdpClient8, __uuidof(IMsRdpClient8));
227_COM_SMARTPTR_TYPEDEF(IRemoteDesktopClientEvents, __uuidof(IRemoteDesktopClientEvents));
228_COM_SMARTPTR_TYPEDEF(IRemoteDesktopClientSettings, __uuidof(IRemoteDesktopClientSettings));
229_COM_SMARTPTR_TYPEDEF(IRemoteDesktopClientActions, __uuidof(IRemoteDesktopClientActions));
230_COM_SMARTPTR_TYPEDEF(IRemoteDesktopClientTouchPointer, __uuidof(IRemoteDesktopClientTouchPointer));
231_COM_SMARTPTR_TYPEDEF(IRemoteDesktopClient, __uuidof(IRemoteDesktopClient));
232
233//
234// Type library items
235//
236
237struct __declspec(uuid("336d5562-efa8-482e-8cb3-c5c0fc7a7db6"))
238IMsTscAxEvents : IDispatch
239{};
240
241enum __MIDL___MIDL_itf_mstsax_0000_0036_0001
242{
243    autoReconnectContinueAutomatic = 0,
244    autoReconnectContinueStop = 1,
245    autoReconnectContinueManual = 2
246};
247
248enum __MIDL___MIDL_itf_mstsax_0000_0046_0001
249{
250    remoteAppResultOk = 0,
251    remoteAppResultLocked = 1,
252    remoteAppResultProtocolError = 2,
253    remoteAppResultNotInWhitelist = 3,
254    remoteAppResultNetworkPathDenied = 4,
255    remoteAppResultFileNotFound = 5,
256    remoteAppResultFailure = 6,
257    remoteAppResultHookNotLoaded = 7
258};
259
260enum __MIDL___MIDL_itf_mstsax_0000_0046_0002
261{
262    remoteAppWindowNone = 0,
263    remoteAppWindowDisplayed = 1,
264    remoteAppShellIconDisplayed = 2
265};
266
267struct __declspec(uuid("a41a4187-5a86-4e26-b40a-856f9035d9cb"))
268MsTscAxNotSafeForScripting;
269    // interface IMsRdpClient
270    // [ default ] interface IMsTscAx
271    // interface IMsTscAx_Redist
272    // [ default, source ] dispinterface IMsTscAxEvents
273    // interface IMsTscNonScriptable
274    // interface IMsRdpClientNonScriptable
275
276struct __declspec(uuid("327bb5cd-834e-4400-aef2-b30e15e5d682"))
277IMsTscAx_Redist : IDispatch
278{};
279
280struct __declspec(uuid("c9d65442-a0f9-45b2-8f73-d61d2db8cbb6"))
281IMsTscSecuredSettings : IDispatch
282{
283    //
284    // Raw methods provided by interface
285    //
286
287      virtual HRESULT __stdcall put_StartProgram (
288        /*[in]*/ BSTR pStartProgram ) = 0;
289      virtual HRESULT __stdcall get_StartProgram (
290        /*[out,retval]*/ BSTR * pStartProgram ) = 0;
291      virtual HRESULT __stdcall put_WorkDir (
292        /*[in]*/ BSTR pWorkDir ) = 0;
293      virtual HRESULT __stdcall get_WorkDir (
294        /*[out,retval]*/ BSTR * pWorkDir ) = 0;
295      virtual HRESULT __stdcall put_FullScreen (
296        /*[in]*/ long pfFullScreen ) = 0;
297      virtual HRESULT __stdcall get_FullScreen (
298        /*[out,retval]*/ long * pfFullScreen ) = 0;
299};
300
301struct __declspec(uuid("809945cc-4b3b-4a92-a6b0-dbf9b5f2ef2d"))
302IMsTscAdvancedSettings : IDispatch
303{
304    //
305    // Raw methods provided by interface
306    //
307
308      virtual HRESULT __stdcall put_Compress (
309        /*[in]*/ long pcompress ) = 0;
310      virtual HRESULT __stdcall get_Compress (
311        /*[out,retval]*/ long * pcompress ) = 0;
312      virtual HRESULT __stdcall put_BitmapPeristence (
313        /*[in]*/ long pbitmapPeristence ) = 0;
314      virtual HRESULT __stdcall get_BitmapPeristence (
315        /*[out,retval]*/ long * pbitmapPeristence ) = 0;
316      virtual HRESULT __stdcall put_allowBackgroundInput (
317        /*[in]*/ long pallowBackgroundInput ) = 0;
318      virtual HRESULT __stdcall get_allowBackgroundInput (
319        /*[out,retval]*/ long * pallowBackgroundInput ) = 0;
320      virtual HRESULT __stdcall put_KeyBoardLayoutStr (
321        /*[in]*/ BSTR _arg1 ) = 0;
322      virtual HRESULT __stdcall put_PluginDlls (
323        /*[in]*/ BSTR _arg1 ) = 0;
324      virtual HRESULT __stdcall put_IconFile (
325        /*[in]*/ BSTR _arg1 ) = 0;
326      virtual HRESULT __stdcall put_IconIndex (
327        /*[in]*/ long _arg1 ) = 0;
328      virtual HRESULT __stdcall put_ContainerHandledFullScreen (
329        /*[in]*/ long pContainerHandledFullScreen ) = 0;
330      virtual HRESULT __stdcall get_ContainerHandledFullScreen (
331        /*[out,retval]*/ long * pContainerHandledFullScreen ) = 0;
332      virtual HRESULT __stdcall put_DisableRdpdr (
333        /*[in]*/ long pDisableRdpdr ) = 0;
334      virtual HRESULT __stdcall get_DisableRdpdr (
335        /*[out,retval]*/ long * pDisableRdpdr ) = 0;
336};
337
338struct __declspec(uuid("209d0eb9-6254-47b1-9033-a98dae55bb27"))
339IMsTscDebug : IDispatch
340{
341    //
342    // Raw methods provided by interface
343    //
344
345      virtual HRESULT __stdcall put_HatchBitmapPDU (
346        /*[in]*/ long phatchBitmapPDU ) = 0;
347      virtual HRESULT __stdcall get_HatchBitmapPDU (
348        /*[out,retval]*/ long * phatchBitmapPDU ) = 0;
349      virtual HRESULT __stdcall put_HatchSSBOrder (
350        /*[in]*/ long phatchSSBOrder ) = 0;
351      virtual HRESULT __stdcall get_HatchSSBOrder (
352        /*[out,retval]*/ long * phatchSSBOrder ) = 0;
353      virtual HRESULT __stdcall put_HatchMembltOrder (
354        /*[in]*/ long phatchMembltOrder ) = 0;
355      virtual HRESULT __stdcall get_HatchMembltOrder (
356        /*[out,retval]*/ long * phatchMembltOrder ) = 0;
357      virtual HRESULT __stdcall put_HatchIndexPDU (
358        /*[in]*/ long phatchIndexPDU ) = 0;
359      virtual HRESULT __stdcall get_HatchIndexPDU (
360        /*[out,retval]*/ long * phatchIndexPDU ) = 0;
361      virtual HRESULT __stdcall put_LabelMemblt (
362        /*[in]*/ long plabelMemblt ) = 0;
363      virtual HRESULT __stdcall get_LabelMemblt (
364        /*[out,retval]*/ long * plabelMemblt ) = 0;
365      virtual HRESULT __stdcall put_BitmapCacheMonitor (
366        /*[in]*/ long pbitmapCacheMonitor ) = 0;
367      virtual HRESULT __stdcall get_BitmapCacheMonitor (
368        /*[out,retval]*/ long * pbitmapCacheMonitor ) = 0;
369      virtual HRESULT __stdcall put_MallocFailuresPercent (
370        /*[in]*/ long pmallocFailuresPercent ) = 0;
371      virtual HRESULT __stdcall get_MallocFailuresPercent (
372        /*[out,retval]*/ long * pmallocFailuresPercent ) = 0;
373      virtual HRESULT __stdcall put_MallocHugeFailuresPercent (
374        /*[in]*/ long pmallocHugeFailuresPercent ) = 0;
375      virtual HRESULT __stdcall get_MallocHugeFailuresPercent (
376        /*[out,retval]*/ long * pmallocHugeFailuresPercent ) = 0;
377      virtual HRESULT __stdcall put_NetThroughput (
378        /*[in]*/ long NetThroughput ) = 0;
379      virtual HRESULT __stdcall get_NetThroughput (
380        /*[out,retval]*/ long * NetThroughput ) = 0;
381      virtual HRESULT __stdcall put_CLXCmdLine (
382        /*[in]*/ BSTR pCLXCmdLine ) = 0;
383      virtual HRESULT __stdcall get_CLXCmdLine (
384        /*[out,retval]*/ BSTR * pCLXCmdLine ) = 0;
385      virtual HRESULT __stdcall put_CLXDll (
386        /*[in]*/ BSTR pCLXDll ) = 0;
387      virtual HRESULT __stdcall get_CLXDll (
388        /*[out,retval]*/ BSTR * pCLXDll ) = 0;
389      virtual HRESULT __stdcall put_RemoteProgramsHatchVisibleRegion (
390        /*[in]*/ long pcbHatch ) = 0;
391      virtual HRESULT __stdcall get_RemoteProgramsHatchVisibleRegion (
392        /*[out,retval]*/ long * pcbHatch ) = 0;
393      virtual HRESULT __stdcall put_RemoteProgramsHatchVisibleNoDataRegion (
394        /*[in]*/ long pcbHatch ) = 0;
395      virtual HRESULT __stdcall get_RemoteProgramsHatchVisibleNoDataRegion (
396        /*[out,retval]*/ long * pcbHatch ) = 0;
397      virtual HRESULT __stdcall put_RemoteProgramsHatchNonVisibleRegion (
398        /*[in]*/ long pcbHatch ) = 0;
399      virtual HRESULT __stdcall get_RemoteProgramsHatchNonVisibleRegion (
400        /*[out,retval]*/ long * pcbHatch ) = 0;
401      virtual HRESULT __stdcall put_RemoteProgramsHatchWindow (
402        /*[in]*/ long pcbHatch ) = 0;
403      virtual HRESULT __stdcall get_RemoteProgramsHatchWindow (
404        /*[out,retval]*/ long * pcbHatch ) = 0;
405      virtual HRESULT __stdcall put_RemoteProgramsStayConnectOnBadCaps (
406        /*[in]*/ long pcbStayConnected ) = 0;
407      virtual HRESULT __stdcall get_RemoteProgramsStayConnectOnBadCaps (
408        /*[out,retval]*/ long * pcbStayConnected ) = 0;
409      virtual HRESULT __stdcall get_ControlType (
410        /*[out,retval]*/ unsigned int * pControlType ) = 0;
411      virtual HRESULT __stdcall put_DecodeGfx (
412        /*[in]*/ VARIANT_BOOL _arg1 ) = 0;
413};
414
415struct __declspec(uuid("8c11efae-92c3-11d1-bc1e-00c04fa31489"))
416IMsTscAx : IMsTscAx_Redist
417{
418    //
419    // Raw methods provided by interface
420    //
421
422      virtual HRESULT __stdcall put_Server (
423        /*[in]*/ BSTR pServer ) = 0;
424      virtual HRESULT __stdcall get_Server (
425        /*[out,retval]*/ BSTR * pServer ) = 0;
426      virtual HRESULT __stdcall put_Domain (
427        /*[in]*/ BSTR pDomain ) = 0;
428      virtual HRESULT __stdcall get_Domain (
429        /*[out,retval]*/ BSTR * pDomain ) = 0;
430      virtual HRESULT __stdcall put_UserName (
431        /*[in]*/ BSTR pUserName ) = 0;
432      virtual HRESULT __stdcall get_UserName (
433        /*[out,retval]*/ BSTR * pUserName ) = 0;
434      virtual HRESULT __stdcall put_DisconnectedText (
435        /*[in]*/ BSTR pDisconnectedText ) = 0;
436      virtual HRESULT __stdcall get_DisconnectedText (
437        /*[out,retval]*/ BSTR * pDisconnectedText ) = 0;
438      virtual HRESULT __stdcall put_ConnectingText (
439        /*[in]*/ BSTR pConnectingText ) = 0;
440      virtual HRESULT __stdcall get_ConnectingText (
441        /*[out,retval]*/ BSTR * pConnectingText ) = 0;
442      virtual HRESULT __stdcall get_Connected (
443        /*[out,retval]*/ short * pIsConnected ) = 0;
444      virtual HRESULT __stdcall put_DesktopWidth (
445        /*[in]*/ long pVal ) = 0;
446      virtual HRESULT __stdcall get_DesktopWidth (
447        /*[out,retval]*/ long * pVal ) = 0;
448      virtual HRESULT __stdcall put_DesktopHeight (
449        /*[in]*/ long pVal ) = 0;
450      virtual HRESULT __stdcall get_DesktopHeight (
451        /*[out,retval]*/ long * pVal ) = 0;
452      virtual HRESULT __stdcall put_StartConnected (
453        /*[in]*/ long pfStartConnected ) = 0;
454      virtual HRESULT __stdcall get_StartConnected (
455        /*[out,retval]*/ long * pfStartConnected ) = 0;
456      virtual HRESULT __stdcall get_HorizontalScrollBarVisible (
457        /*[out,retval]*/ long * pfHScrollVisible ) = 0;
458      virtual HRESULT __stdcall get_VerticalScrollBarVisible (
459        /*[out,retval]*/ long * pfVScrollVisible ) = 0;
460      virtual HRESULT __stdcall put_FullScreenTitle (
461        /*[in]*/ BSTR _arg1 ) = 0;
462      virtual HRESULT __stdcall get_CipherStrength (
463        /*[out,retval]*/ long * pCipherStrength ) = 0;
464      virtual HRESULT __stdcall get_Version (
465        /*[out,retval]*/ BSTR * pVersion ) = 0;
466      virtual HRESULT __stdcall get_SecuredSettingsEnabled (
467        /*[out,retval]*/ long * pSecuredSettingsEnabled ) = 0;
468      virtual HRESULT __stdcall get_SecuredSettings (
469        /*[out,retval]*/ struct IMsTscSecuredSettings * * ppSecuredSettings ) = 0;
470      virtual HRESULT __stdcall get_AdvancedSettings (
471        /*[out,retval]*/ struct IMsTscAdvancedSettings * * ppAdvSettings ) = 0;
472      virtual HRESULT __stdcall get_Debugger (
473        /*[out,retval]*/ struct IMsTscDebug * * ppDebugger ) = 0;
474      virtual HRESULT __stdcall Connect ( ) = 0;
475      virtual HRESULT __stdcall Disconnect ( ) = 0;
476      virtual HRESULT __stdcall CreateVirtualChannels (
477        /*[in]*/ BSTR newVal ) = 0;
478      virtual HRESULT __stdcall SendOnVirtualChannel (
479        /*[in]*/ BSTR chanName,
480        /*[in]*/ BSTR ChanData ) = 0;
481};
482
483struct __declspec(uuid("3c65b4ab-12b3-465b-acd4-b8dad3bff9e2"))
484IMsRdpClientAdvancedSettings : IMsTscAdvancedSettings
485{
486    //
487    // Raw methods provided by interface
488    //
489
490      virtual HRESULT __stdcall put_SmoothScroll (
491        /*[in]*/ long psmoothScroll ) = 0;
492      virtual HRESULT __stdcall get_SmoothScroll (
493        /*[out,retval]*/ long * psmoothScroll ) = 0;
494      virtual HRESULT __stdcall put_AcceleratorPassthrough (
495        /*[in]*/ long pacceleratorPassthrough ) = 0;
496      virtual HRESULT __stdcall get_AcceleratorPassthrough (
497        /*[out,retval]*/ long * pacceleratorPassthrough ) = 0;
498      virtual HRESULT __stdcall put_ShadowBitmap (
499        /*[in]*/ long pshadowBitmap ) = 0;
500      virtual HRESULT __stdcall get_ShadowBitmap (
501        /*[out,retval]*/ long * pshadowBitmap ) = 0;
502      virtual HRESULT __stdcall put_TransportType (
503        /*[in]*/ long ptransportType ) = 0;
504      virtual HRESULT __stdcall get_TransportType (
505        /*[out,retval]*/ long * ptransportType ) = 0;
506      virtual HRESULT __stdcall put_SasSequence (
507        /*[in]*/ long psasSequence ) = 0;
508      virtual HRESULT __stdcall get_SasSequence (
509        /*[out,retval]*/ long * psasSequence ) = 0;
510      virtual HRESULT __stdcall put_EncryptionEnabled (
511        /*[in]*/ long pencryptionEnabled ) = 0;
512      virtual HRESULT __stdcall get_EncryptionEnabled (
513        /*[out,retval]*/ long * pencryptionEnabled ) = 0;
514      virtual HRESULT __stdcall put_DedicatedTerminal (
515        /*[in]*/ long pdedicatedTerminal ) = 0;
516      virtual HRESULT __stdcall get_DedicatedTerminal (
517        /*[out,retval]*/ long * pdedicatedTerminal ) = 0;
518      virtual HRESULT __stdcall put_RDPPort (
519        /*[in]*/ long prdpPort ) = 0;
520      virtual HRESULT __stdcall get_RDPPort (
521        /*[out,retval]*/ long * prdpPort ) = 0;
522      virtual HRESULT __stdcall put_EnableMouse (
523        /*[in]*/ long penableMouse ) = 0;
524      virtual HRESULT __stdcall get_EnableMouse (
525        /*[out,retval]*/ long * penableMouse ) = 0;
526      virtual HRESULT __stdcall put_DisableCtrlAltDel (
527        /*[in]*/ long pdisableCtrlAltDel ) = 0;
528      virtual HRESULT __stdcall get_DisableCtrlAltDel (
529        /*[out,retval]*/ long * pdisableCtrlAltDel ) = 0;
530      virtual HRESULT __stdcall put_EnableWindowsKey (
531        /*[in]*/ long penableWindowsKey ) = 0;
532      virtual HRESULT __stdcall get_EnableWindowsKey (
533        /*[out,retval]*/ long * penableWindowsKey ) = 0;
534      virtual HRESULT __stdcall put_DoubleClickDetect (
535        /*[in]*/ long pdoubleClickDetect ) = 0;
536      virtual HRESULT __stdcall get_DoubleClickDetect (
537        /*[out,retval]*/ long * pdoubleClickDetect ) = 0;
538      virtual HRESULT __stdcall put_MaximizeShell (
539        /*[in]*/ long pmaximizeShell ) = 0;
540      virtual HRESULT __stdcall get_MaximizeShell (
541        /*[out,retval]*/ long * pmaximizeShell ) = 0;
542      virtual HRESULT __stdcall put_HotKeyFullScreen (
543        /*[in]*/ long photKeyFullScreen ) = 0;
544      virtual HRESULT __stdcall get_HotKeyFullScreen (
545        /*[out,retval]*/ long * photKeyFullScreen ) = 0;
546      virtual HRESULT __stdcall put_HotKeyCtrlEsc (
547        /*[in]*/ long photKeyCtrlEsc ) = 0;
548      virtual HRESULT __stdcall get_HotKeyCtrlEsc (
549        /*[out,retval]*/ long * photKeyCtrlEsc ) = 0;
550      virtual HRESULT __stdcall put_HotKeyAltEsc (
551        /*[in]*/ long photKeyAltEsc ) = 0;
552      virtual HRESULT __stdcall get_HotKeyAltEsc (
553        /*[out,retval]*/ long * photKeyAltEsc ) = 0;
554      virtual HRESULT __stdcall put_HotKeyAltTab (
555        /*[in]*/ long photKeyAltTab ) = 0;
556      virtual HRESULT __stdcall get_HotKeyAltTab (
557        /*[out,retval]*/ long * photKeyAltTab ) = 0;
558      virtual HRESULT __stdcall put_HotKeyAltShiftTab (
559        /*[in]*/ long photKeyAltShiftTab ) = 0;
560      virtual HRESULT __stdcall get_HotKeyAltShiftTab (
561        /*[out,retval]*/ long * photKeyAltShiftTab ) = 0;
562      virtual HRESULT __stdcall put_HotKeyAltSpace (
563        /*[in]*/ long photKeyAltSpace ) = 0;
564      virtual HRESULT __stdcall get_HotKeyAltSpace (
565        /*[out,retval]*/ long * photKeyAltSpace ) = 0;
566      virtual HRESULT __stdcall put_HotKeyCtrlAltDel (
567        /*[in]*/ long photKeyCtrlAltDel ) = 0;
568      virtual HRESULT __stdcall get_HotKeyCtrlAltDel (
569        /*[out,retval]*/ long * photKeyCtrlAltDel ) = 0;
570      virtual HRESULT __stdcall put_orderDrawThreshold (
571        /*[in]*/ long porderDrawThreshold ) = 0;
572      virtual HRESULT __stdcall get_orderDrawThreshold (
573        /*[out,retval]*/ long * porderDrawThreshold ) = 0;
574      virtual HRESULT __stdcall put_BitmapCacheSize (
575        /*[in]*/ long pbitmapCacheSize ) = 0;
576      virtual HRESULT __stdcall get_BitmapCacheSize (
577        /*[out,retval]*/ long * pbitmapCacheSize ) = 0;
578      virtual HRESULT __stdcall put_BitmapVirtualCacheSize (
579        /*[in]*/ long pbitmapVirtualCacheSize ) = 0;
580      virtual HRESULT __stdcall get_BitmapVirtualCacheSize (
581        /*[out,retval]*/ long * pbitmapVirtualCacheSize ) = 0;
582      virtual HRESULT __stdcall put_ScaleBitmapCachesByBPP (
583        /*[in]*/ long pbScale ) = 0;
584      virtual HRESULT __stdcall get_ScaleBitmapCachesByBPP (
585        /*[out,retval]*/ long * pbScale ) = 0;
586      virtual HRESULT __stdcall put_NumBitmapCaches (
587        /*[in]*/ long pnumBitmapCaches ) = 0;
588      virtual HRESULT __stdcall get_NumBitmapCaches (
589        /*[out,retval]*/ long * pnumBitmapCaches ) = 0;
590      virtual HRESULT __stdcall put_CachePersistenceActive (
591        /*[in]*/ long pcachePersistenceActive ) = 0;
592      virtual HRESULT __stdcall get_CachePersistenceActive (
593        /*[out,retval]*/ long * pcachePersistenceActive ) = 0;
594      virtual HRESULT __stdcall put_PersistCacheDirectory (
595        /*[in]*/ BSTR _arg1 ) = 0;
596      virtual HRESULT __stdcall put_brushSupportLevel (
597        /*[in]*/ long pbrushSupportLevel ) = 0;
598      virtual HRESULT __stdcall get_brushSupportLevel (
599        /*[out,retval]*/ long * pbrushSupportLevel ) = 0;
600      virtual HRESULT __stdcall put_minInputSendInterval (
601        /*[in]*/ long pminInputSendInterval ) = 0;
602      virtual HRESULT __stdcall get_minInputSendInterval (
603        /*[out,retval]*/ long * pminInputSendInterval ) = 0;
604      virtual HRESULT __stdcall put_InputEventsAtOnce (
605        /*[in]*/ long pinputEventsAtOnce ) = 0;
606      virtual HRESULT __stdcall get_InputEventsAtOnce (
607        /*[out,retval]*/ long * pinputEventsAtOnce ) = 0;
608      virtual HRESULT __stdcall put_maxEventCount (
609        /*[in]*/ long pmaxEventCount ) = 0;
610      virtual HRESULT __stdcall get_maxEventCount (
611        /*[out,retval]*/ long * pmaxEventCount ) = 0;
612      virtual HRESULT __stdcall put_keepAliveInterval (
613        /*[in]*/ long pkeepAliveInterval ) = 0;
614      virtual HRESULT __stdcall get_keepAliveInterval (
615        /*[out,retval]*/ long * pkeepAliveInterval ) = 0;
616      virtual HRESULT __stdcall put_shutdownTimeout (
617        /*[in]*/ long pshutdownTimeout ) = 0;
618      virtual HRESULT __stdcall get_shutdownTimeout (
619        /*[out,retval]*/ long * pshutdownTimeout ) = 0;
620      virtual HRESULT __stdcall put_overallConnectionTimeout (
621        /*[in]*/ long poverallConnectionTimeout ) = 0;
622      virtual HRESULT __stdcall get_overallConnectionTimeout (
623        /*[out,retval]*/ long * poverallConnectionTimeout ) = 0;
624      virtual HRESULT __stdcall put_singleConnectionTimeout (
625        /*[in]*/ long psingleConnectionTimeout ) = 0;
626      virtual HRESULT __stdcall get_singleConnectionTimeout (
627        /*[out,retval]*/ long * psingleConnectionTimeout ) = 0;
628      virtual HRESULT __stdcall put_KeyboardType (
629        /*[in]*/ long pkeyboardType ) = 0;
630      virtual HRESULT __stdcall get_KeyboardType (
631        /*[out,retval]*/ long * pkeyboardType ) = 0;
632      virtual HRESULT __stdcall put_KeyboardSubType (
633        /*[in]*/ long pkeyboardSubType ) = 0;
634      virtual HRESULT __stdcall get_KeyboardSubType (
635        /*[out,retval]*/ long * pkeyboardSubType ) = 0;
636      virtual HRESULT __stdcall put_KeyboardFunctionKey (
637        /*[in]*/ long pkeyboardFunctionKey ) = 0;
638      virtual HRESULT __stdcall get_KeyboardFunctionKey (
639        /*[out,retval]*/ long * pkeyboardFunctionKey ) = 0;
640      virtual HRESULT __stdcall put_WinceFixedPalette (
641        /*[in]*/ long pwinceFixedPalette ) = 0;
642      virtual HRESULT __stdcall get_WinceFixedPalette (
643        /*[out,retval]*/ long * pwinceFixedPalette ) = 0;
644      virtual HRESULT __stdcall put_ConnectToServerConsole (
645        /*[in]*/ VARIANT_BOOL pConnectToConsole ) = 0;
646      virtual HRESULT __stdcall get_ConnectToServerConsole (
647        /*[out,retval]*/ VARIANT_BOOL * pConnectToConsole ) = 0;
648      virtual HRESULT __stdcall put_BitmapPersistence (
649        /*[in]*/ long pbitmapPersistence ) = 0;
650      virtual HRESULT __stdcall get_BitmapPersistence (
651        /*[out,retval]*/ long * pbitmapPersistence ) = 0;
652      virtual HRESULT __stdcall put_MinutesToIdleTimeout (
653        /*[in]*/ long pminutesToIdleTimeout ) = 0;
654      virtual HRESULT __stdcall get_MinutesToIdleTimeout (
655        /*[out,retval]*/ long * pminutesToIdleTimeout ) = 0;
656      virtual HRESULT __stdcall put_SmartSizing (
657        /*[in]*/ VARIANT_BOOL pfSmartSizing ) = 0;
658      virtual HRESULT __stdcall get_SmartSizing (
659        /*[out,retval]*/ VARIANT_BOOL * pfSmartSizing ) = 0;
660      virtual HRESULT __stdcall put_RdpdrLocalPrintingDocName (
661        /*[in]*/ BSTR pLocalPrintingDocName ) = 0;
662      virtual HRESULT __stdcall get_RdpdrLocalPrintingDocName (
663        /*[out,retval]*/ BSTR * pLocalPrintingDocName ) = 0;
664      virtual HRESULT __stdcall put_RdpdrClipCleanTempDirString (
665        /*[in]*/ BSTR clipCleanTempDirString ) = 0;
666      virtual HRESULT __stdcall get_RdpdrClipCleanTempDirString (
667        /*[out,retval]*/ BSTR * clipCleanTempDirString ) = 0;
668      virtual HRESULT __stdcall put_RdpdrClipPasteInfoString (
669        /*[in]*/ BSTR clipPasteInfoString ) = 0;
670      virtual HRESULT __stdcall get_RdpdrClipPasteInfoString (
671        /*[out,retval]*/ BSTR * clipPasteInfoString ) = 0;
672      virtual HRESULT __stdcall put_ClearTextPassword (
673        /*[in]*/ BSTR _arg1 ) = 0;
674      virtual HRESULT __stdcall put_DisplayConnectionBar (
675        /*[in]*/ VARIANT_BOOL pDisplayConnectionBar ) = 0;
676      virtual HRESULT __stdcall get_DisplayConnectionBar (
677        /*[out,retval]*/ VARIANT_BOOL * pDisplayConnectionBar ) = 0;
678      virtual HRESULT __stdcall put_PinConnectionBar (
679        /*[in]*/ VARIANT_BOOL pPinConnectionBar ) = 0;
680      virtual HRESULT __stdcall get_PinConnectionBar (
681        /*[out,retval]*/ VARIANT_BOOL * pPinConnectionBar ) = 0;
682      virtual HRESULT __stdcall put_GrabFocusOnConnect (
683        /*[in]*/ VARIANT_BOOL pfGrabFocusOnConnect ) = 0;
684      virtual HRESULT __stdcall get_GrabFocusOnConnect (
685        /*[out,retval]*/ VARIANT_BOOL * pfGrabFocusOnConnect ) = 0;
686      virtual HRESULT __stdcall put_LoadBalanceInfo (
687        /*[in]*/ BSTR pLBInfo ) = 0;
688      virtual HRESULT __stdcall get_LoadBalanceInfo (
689        /*[out,retval]*/ BSTR * pLBInfo ) = 0;
690      virtual HRESULT __stdcall put_RedirectDrives (
691        /*[in]*/ VARIANT_BOOL pRedirectDrives ) = 0;
692      virtual HRESULT __stdcall get_RedirectDrives (
693        /*[out,retval]*/ VARIANT_BOOL * pRedirectDrives ) = 0;
694      virtual HRESULT __stdcall put_RedirectPrinters (
695        /*[in]*/ VARIANT_BOOL pRedirectPrinters ) = 0;
696      virtual HRESULT __stdcall get_RedirectPrinters (
697        /*[out,retval]*/ VARIANT_BOOL * pRedirectPrinters ) = 0;
698      virtual HRESULT __stdcall put_RedirectPorts (
699        /*[in]*/ VARIANT_BOOL pRedirectPorts ) = 0;
700      virtual HRESULT __stdcall get_RedirectPorts (
701        /*[out,retval]*/ VARIANT_BOOL * pRedirectPorts ) = 0;
702      virtual HRESULT __stdcall put_RedirectSmartCards (
703        /*[in]*/ VARIANT_BOOL pRedirectSmartCards ) = 0;
704      virtual HRESULT __stdcall get_RedirectSmartCards (
705        /*[out,retval]*/ VARIANT_BOOL * pRedirectSmartCards ) = 0;
706      virtual HRESULT __stdcall put_BitmapVirtualCache16BppSize (
707        /*[in]*/ long pBitmapVirtualCache16BppSize ) = 0;
708      virtual HRESULT __stdcall get_BitmapVirtualCache16BppSize (
709        /*[out,retval]*/ long * pBitmapVirtualCache16BppSize ) = 0;
710      virtual HRESULT __stdcall put_BitmapVirtualCache24BppSize (
711        /*[in]*/ long pBitmapVirtualCache24BppSize ) = 0;
712      virtual HRESULT __stdcall get_BitmapVirtualCache24BppSize (
713        /*[out,retval]*/ long * pBitmapVirtualCache24BppSize ) = 0;
714      virtual HRESULT __stdcall put_PerformanceFlags (
715        /*[in]*/ long pDisableList ) = 0;
716      virtual HRESULT __stdcall get_PerformanceFlags (
717        /*[out,retval]*/ long * pDisableList ) = 0;
718      virtual HRESULT __stdcall put_ConnectWithEndpoint (
719        /*[in]*/ VARIANT * _arg1 ) = 0;
720      virtual HRESULT __stdcall put_NotifyTSPublicKey (
721        /*[in]*/ VARIANT_BOOL pfNotify ) = 0;
722      virtual HRESULT __stdcall get_NotifyTSPublicKey (
723        /*[out,retval]*/ VARIANT_BOOL * pfNotify ) = 0;
724};
725
726struct __declspec(uuid("605befcf-39c1-45cc-a811-068fb7be346d"))
727IMsRdpClientSecuredSettings : IMsTscSecuredSettings
728{
729    //
730    // Raw methods provided by interface
731    //
732
733      virtual HRESULT __stdcall put_KeyboardHookMode (
734        /*[in]*/ long pkeyboardHookMode ) = 0;
735      virtual HRESULT __stdcall get_KeyboardHookMode (
736        /*[out,retval]*/ long * pkeyboardHookMode ) = 0;
737      virtual HRESULT __stdcall put_AudioRedirectionMode (
738        /*[in]*/ long pAudioRedirectionMode ) = 0;
739      virtual HRESULT __stdcall get_AudioRedirectionMode (
740        /*[out,retval]*/ long * pAudioRedirectionMode ) = 0;
741};
742
743enum __MIDL___MIDL_itf_mstsax_0000_0000_0001
744{
745    exDiscReasonNoInfo = 0,
746    exDiscReasonAPIInitiatedDisconnect = 1,
747    exDiscReasonAPIInitiatedLogoff = 2,
748    exDiscReasonServerIdleTimeout = 3,
749    exDiscReasonServerLogonTimeout = 4,
750    exDiscReasonReplacedByOtherConnection = 5,
751    exDiscReasonOutOfMemory = 6,
752    exDiscReasonServerDeniedConnection = 7,
753    exDiscReasonServerDeniedConnectionFips = 8,
754    exDiscReasonServerInsufficientPrivileges = 9,
755    exDiscReasonServerFreshCredsRequired = 10,
756    exDiscReasonLicenseInternal = 256,
757    exDiscReasonLicenseNoLicenseServer = 257,
758    exDiscReasonLicenseNoLicense = 258,
759    exDiscReasonLicenseErrClientMsg = 259,
760    exDiscReasonLicenseHwidDoesntMatchLicense = 260,
761    exDiscReasonLicenseErrClientLicense = 261,
762    exDiscReasonLicenseCantFinishProtocol = 262,
763    exDiscReasonLicenseClientEndedProtocol = 263,
764    exDiscReasonLicenseErrClientEncryption = 264,
765    exDiscReasonLicenseCantUpgradeLicense = 265,
766    exDiscReasonLicenseNoRemoteConnections = 266,
767    exDiscReasonLicenseCreatingLicStoreAccDenied = 267,
768    exDiscReasonRdpEncInvalidCredentials = 768,
769    exDiscReasonProtocolRangeStart = 4096,
770    exDiscReasonProtocolRangeEnd = 32767
771};
772
773struct __declspec(uuid("92b4a539-7115-4b7c-a5a9-e5d9efc2780a"))
774IMsRdpClient : IMsTscAx
775{
776    //
777    // Raw methods provided by interface
778    //
779
780      virtual HRESULT __stdcall put_ColorDepth (
781        /*[in]*/ long pcolorDepth ) = 0;
782      virtual HRESULT __stdcall get_ColorDepth (
783        /*[out,retval]*/ long * pcolorDepth ) = 0;
784      virtual HRESULT __stdcall get_AdvancedSettings2 (
785        /*[out,retval]*/ struct IMsRdpClientAdvancedSettings * * ppAdvSettings ) = 0;
786      virtual HRESULT __stdcall get_SecuredSettings2 (
787        /*[out,retval]*/ struct IMsRdpClientSecuredSettings * * ppSecuredSettings ) = 0;
788      virtual HRESULT __stdcall get_ExtendedDisconnectReason (
789        /*[out,retval]*/ ExtendedDisconnectReasonCode * pExtendedDisconnectReason ) = 0;
790      virtual HRESULT __stdcall put_FullScreen (
791        /*[in]*/ VARIANT_BOOL pfFullScreen ) = 0;
792      virtual HRESULT __stdcall get_FullScreen (
793        /*[out,retval]*/ VARIANT_BOOL * pfFullScreen ) = 0;
794      virtual HRESULT __stdcall SetVirtualChannelOptions (
795        /*[in]*/ BSTR chanName,
796        /*[in]*/ long chanOptions ) = 0;
797      virtual HRESULT __stdcall GetVirtualChannelOptions (
798        /*[in]*/ BSTR chanName,
799        /*[out,retval]*/ long * pChanOptions ) = 0;
800      virtual HRESULT __stdcall RequestClose (
801        /*[out,retval]*/ ControlCloseStatus * pCloseStatus ) = 0;
802};
803
804enum __MIDL_IMsRdpClient_0001
805{
806    controlCloseCanProceed = 0,
807    controlCloseWaitForEvents = 1
808};
809
810struct __declspec(uuid("c1e6743a-41c1-4a74-832a-0dd06c1c7a0e"))
811IMsTscNonScriptable : IUnknown
812{
813    //
814    // Raw methods provided by interface
815    //
816
817      virtual HRESULT __stdcall put_ClearTextPassword (
818        /*[in]*/ BSTR _arg1 ) = 0;
819      virtual HRESULT __stdcall put_PortablePassword (
820        /*[in]*/ BSTR pPortablePass ) = 0;
821      virtual HRESULT __stdcall get_PortablePassword (
822        /*[out,retval]*/ BSTR * pPortablePass ) = 0;
823      virtual HRESULT __stdcall put_PortableSalt (
824        /*[in]*/ BSTR pPortableSalt ) = 0;
825      virtual HRESULT __stdcall get_PortableSalt (
826        /*[out,retval]*/ BSTR * pPortableSalt ) = 0;
827      virtual HRESULT __stdcall put_BinaryPassword (
828        /*[in]*/ BSTR pBinaryPassword ) = 0;
829      virtual HRESULT __stdcall get_BinaryPassword (
830        /*[out,retval]*/ BSTR * pBinaryPassword ) = 0;
831      virtual HRESULT __stdcall put_BinarySalt (
832        /*[in]*/ BSTR pSalt ) = 0;
833      virtual HRESULT __stdcall get_BinarySalt (
834        /*[out,retval]*/ BSTR * pSalt ) = 0;
835      virtual HRESULT __stdcall ResetPassword ( ) = 0;
836};
837
838struct __declspec(uuid("2f079c4c-87b2-4afd-97ab-20cdb43038ae"))
839IMsRdpClientNonScriptable : IMsTscNonScriptable
840{
841    //
842    // Raw methods provided by interface
843    //
844
845      virtual HRESULT __stdcall NotifyRedirectDeviceChange (
846        /*[in]*/ UINT_PTR wParam,
847        /*[in]*/ LONG_PTR lParam ) = 0;
848      virtual HRESULT __stdcall SendKeys (
849        /*[in]*/ long numKeys,
850        /*[in]*/ VARIANT_BOOL * pbArrayKeyUp,
851        /*[in]*/ long * plKeyData ) = 0;
852};
853
854struct __declspec(uuid("1fb464c8-09bb-4017-a2f5-eb742f04392f"))
855MsTscAx;
856    // interface IMsRdpClient
857    // [ default ] interface IMsTscAx
858    // interface IMsTscAx_Redist
859    // [ default, source ] dispinterface IMsTscAxEvents
860    // interface IMsTscNonScriptable
861    // interface IMsRdpClientNonScriptable
862
863struct __declspec(uuid("7cacbd7b-0d99-468f-ac33-22e495c0afe5"))
864MsRdpClientNotSafeForScripting;
865    // [ default ] interface IMsRdpClient
866    // interface IMsTscAx
867    // interface IMsTscAx_Redist
868    // [ default, source ] dispinterface IMsTscAxEvents
869    // interface IMsTscNonScriptable
870    // interface IMsRdpClientNonScriptable
871
872struct __declspec(uuid("791fa017-2de3-492e-acc5-53c67a2b94d0"))
873MsRdpClient;
874    // [ default ] interface IMsRdpClient
875    // interface IMsTscAx
876    // interface IMsTscAx_Redist
877    // [ default, source ] dispinterface IMsTscAxEvents
878    // interface IMsTscNonScriptable
879    // interface IMsRdpClientNonScriptable
880
881struct __declspec(uuid("3523c2fb-4031-44e4-9a3b-f1e94986ee7f"))
882MsRdpClient2NotSafeForScripting;
883    // [ default ] interface IMsRdpClient2
884    // interface IMsRdpClient
885    // interface IMsTscAx
886    // interface IMsTscAx_Redist
887    // [ default, source ] dispinterface IMsTscAxEvents
888    // interface IMsTscNonScriptable
889    // interface IMsRdpClientNonScriptable
890
891struct __declspec(uuid("9ac42117-2b76-4320-aa44-0e616ab8437b"))
892IMsRdpClientAdvancedSettings2 : IMsRdpClientAdvancedSettings
893{
894    //
895    // Raw methods provided by interface
896    //
897
898      virtual HRESULT __stdcall get_CanAutoReconnect (
899        /*[out,retval]*/ VARIANT_BOOL * pfCanAutoReconnect ) = 0;
900      virtual HRESULT __stdcall put_EnableAutoReconnect (
901        /*[in]*/ VARIANT_BOOL pfEnableAutoReconnect ) = 0;
902      virtual HRESULT __stdcall get_EnableAutoReconnect (
903        /*[out,retval]*/ VARIANT_BOOL * pfEnableAutoReconnect ) = 0;
904      virtual HRESULT __stdcall put_MaxReconnectAttempts (
905        /*[in]*/ long pMaxReconnectAttempts ) = 0;
906      virtual HRESULT __stdcall get_MaxReconnectAttempts (
907        /*[out,retval]*/ long * pMaxReconnectAttempts ) = 0;
908};
909
910struct __declspec(uuid("e7e17dc4-3b71-4ba7-a8e6-281ffadca28f"))
911IMsRdpClient2 : IMsRdpClient
912{
913    //
914    // Raw methods provided by interface
915    //
916
917      virtual HRESULT __stdcall get_AdvancedSettings3 (
918        /*[out,retval]*/ struct IMsRdpClientAdvancedSettings2 * * ppAdvSettings ) = 0;
919      virtual HRESULT __stdcall put_ConnectedStatusText (
920        /*[in]*/ BSTR pConnectedStatusText ) = 0;
921      virtual HRESULT __stdcall get_ConnectedStatusText (
922        /*[out,retval]*/ BSTR * pConnectedStatusText ) = 0;
923};
924
925struct __declspec(uuid("9059f30f-4eb1-4bd2-9fdc-36f43a218f4a"))
926MsRdpClient2;
927    // [ default ] interface IMsRdpClient2
928    // interface IMsRdpClient
929    // interface IMsTscAx
930    // interface IMsTscAx_Redist
931    // [ default, source ] dispinterface IMsTscAxEvents
932    // interface IMsTscNonScriptable
933    // interface IMsRdpClientNonScriptable
934
935struct __declspec(uuid("971127bb-259f-48c2-bd75-5f97a3331551"))
936MsRdpClient2a;
937    // [ default ] interface IMsRdpClient2
938    // interface IMsRdpClient
939    // interface IMsTscAx
940    // interface IMsTscAx_Redist
941    // [ default, source ] dispinterface IMsTscAxEvents
942    // interface IMsTscNonScriptable
943    // interface IMsRdpClientNonScriptable
944
945struct __declspec(uuid("ace575fd-1fcf-4074-9401-ebab990fa9de"))
946MsRdpClient3NotSafeForScripting;
947    // [ default ] interface IMsRdpClient3
948    // interface IMsRdpClient2
949    // interface IMsRdpClient
950    // interface IMsTscAx
951    // interface IMsTscAx_Redist
952    // [ default, source ] dispinterface IMsTscAxEvents
953    // interface IMsTscNonScriptable
954    // interface IMsRdpClientNonScriptable
955
956struct __declspec(uuid("19cd856b-c542-4c53-acee-f127e3be1a59"))
957IMsRdpClientAdvancedSettings3 : IMsRdpClientAdvancedSettings2
958{
959    //
960    // Raw methods provided by interface
961    //
962
963      virtual HRESULT __stdcall put_ConnectionBarShowMinimizeButton (
964        /*[in]*/ VARIANT_BOOL pfShowMinimize ) = 0;
965      virtual HRESULT __stdcall get_ConnectionBarShowMinimizeButton (
966        /*[out,retval]*/ VARIANT_BOOL * pfShowMinimize ) = 0;
967      virtual HRESULT __stdcall put_ConnectionBarShowRestoreButton (
968        /*[in]*/ VARIANT_BOOL pfShowRestore ) = 0;
969      virtual HRESULT __stdcall get_ConnectionBarShowRestoreButton (
970        /*[out,retval]*/ VARIANT_BOOL * pfShowRestore ) = 0;
971};
972
973struct __declspec(uuid("91b7cbc5-a72e-4fa0-9300-d647d7e897ff"))
974IMsRdpClient3 : IMsRdpClient2
975{
976    //
977    // Raw methods provided by interface
978    //
979
980      virtual HRESULT __stdcall get_AdvancedSettings4 (
981        /*[out,retval]*/ struct IMsRdpClientAdvancedSettings3 * * ppAdvSettings ) = 0;
982};
983
984struct __declspec(uuid("7584c670-2274-4efb-b00b-d6aaba6d3850"))
985MsRdpClient3;
986    // [ default ] interface IMsRdpClient3
987    // interface IMsRdpClient2
988    // interface IMsRdpClient
989    // interface IMsTscAx
990    // interface IMsTscAx_Redist
991    // [ default, source ] dispinterface IMsTscAxEvents
992    // interface IMsTscNonScriptable
993    // interface IMsRdpClientNonScriptable
994
995struct __declspec(uuid("6a6f4b83-45c5-4ca9-bdd9-0d81c12295e4"))
996MsRdpClient3a;
997    // [ default ] interface IMsRdpClient3
998    // interface IMsRdpClient2
999    // interface IMsRdpClient
1000    // interface IMsTscAx
1001    // interface IMsTscAx_Redist
1002    // [ default, source ] dispinterface IMsTscAxEvents
1003    // interface IMsTscNonScriptable
1004    // interface IMsRdpClientNonScriptable
1005
1006struct __declspec(uuid("6ae29350-321b-42be-bbe5-12fb5270c0de"))
1007MsRdpClient4NotSafeForScripting;
1008    // [ default ] interface IMsRdpClient4
1009    // interface IMsRdpClient3
1010    // interface IMsRdpClient2
1011    // interface IMsRdpClient
1012    // interface IMsTscAx
1013    // interface IMsTscAx_Redist
1014    // [ default, source ] dispinterface IMsTscAxEvents
1015    // interface IMsTscNonScriptable
1016    // interface IMsRdpClientNonScriptable
1017    // interface IMsRdpClientNonScriptable2
1018
1019struct __declspec(uuid("fba7f64e-7345-4405-ae50-fa4a763dc0de"))
1020IMsRdpClientAdvancedSettings4 : IMsRdpClientAdvancedSettings3
1021{
1022    //
1023    // Raw methods provided by interface
1024    //
1025
1026      virtual HRESULT __stdcall put_AuthenticationLevel (
1027        /*[in]*/ unsigned int puiAuthLevel ) = 0;
1028      virtual HRESULT __stdcall get_AuthenticationLevel (
1029        /*[out,retval]*/ unsigned int * puiAuthLevel ) = 0;
1030};
1031
1032struct __declspec(uuid("095e0738-d97d-488b-b9f6-dd0e8d66c0de"))
1033IMsRdpClient4 : IMsRdpClient3
1034{
1035    //
1036    // Raw methods provided by interface
1037    //
1038
1039      virtual HRESULT __stdcall get_AdvancedSettings5 (
1040        /*[out,retval]*/ struct IMsRdpClientAdvancedSettings4 * * ppAdvSettings ) = 0;
1041};
1042
1043struct __declspec(uuid("17a5e535-4072-4fa4-af32-c8d0d47345e9"))
1044IMsRdpClientNonScriptable2 : IMsRdpClientNonScriptable
1045{
1046    //
1047    // Raw methods provided by interface
1048    //
1049
1050      virtual HRESULT __stdcall put_UIParentWindowHandle (
1051        /*[in]*/ wireHWND phwndUIParentWindowHandle ) = 0;
1052      virtual HRESULT __stdcall get_UIParentWindowHandle (
1053        /*[out,retval]*/ wireHWND * phwndUIParentWindowHandle ) = 0;
1054};
1055
1056struct __declspec(uuid("4edcb26c-d24c-4e72-af07-b576699ac0de"))
1057MsRdpClient4;
1058    // [ default ] interface IMsRdpClient4
1059    // interface IMsRdpClient3
1060    // interface IMsRdpClient2
1061    // interface IMsRdpClient
1062    // interface IMsTscAx
1063    // interface IMsTscAx_Redist
1064    // [ default, source ] dispinterface IMsTscAxEvents
1065    // interface IMsTscNonScriptable
1066    // interface IMsRdpClientNonScriptable
1067    // interface IMsRdpClientNonScriptable2
1068
1069struct __declspec(uuid("54ce37e0-9834-41ae-9896-4dab69dc022b"))
1070MsRdpClient4a;
1071    // [ default ] interface IMsRdpClient4
1072    // interface IMsRdpClient3
1073    // interface IMsRdpClient2
1074    // interface IMsRdpClient
1075    // interface IMsTscAx
1076    // interface IMsTscAx_Redist
1077    // [ default, source ] dispinterface IMsTscAxEvents
1078    // interface IMsTscNonScriptable
1079    // interface IMsRdpClientNonScriptable
1080    // interface IMsRdpClientNonScriptable2
1081
1082struct __declspec(uuid("4eb2f086-c818-447e-b32c-c51ce2b30d31"))
1083MsRdpClient5NotSafeForScripting;
1084    // [ default ] interface IMsRdpClient5
1085    // interface IMsRdpClient4
1086    // interface IMsRdpClient3
1087    // interface IMsRdpClient2
1088    // interface IMsRdpClient
1089    // interface IMsTscAx
1090    // interface IMsTscAx_Redist
1091    // [ default, source ] dispinterface IMsTscAxEvents
1092    // interface IMsTscNonScriptable
1093    // interface IMsRdpClientNonScriptable
1094    // interface IMsRdpClientNonScriptable2
1095    // interface IMsRdpClientNonScriptable3
1096
1097struct __declspec(uuid("720298c0-a099-46f5-9f82-96921bae4701"))
1098IMsRdpClientTransportSettings : IDispatch
1099{
1100    //
1101    // Raw methods provided by interface
1102    //
1103
1104      virtual HRESULT __stdcall put_GatewayHostname (
1105        /*[in]*/ BSTR pProxyHostname ) = 0;
1106      virtual HRESULT __stdcall get_GatewayHostname (
1107        /*[out,retval]*/ BSTR * pProxyHostname ) = 0;
1108      virtual HRESULT __stdcall put_GatewayUsageMethod (
1109        /*[in]*/ unsigned long pulProxyUsageMethod ) = 0;
1110      virtual HRESULT __stdcall get_GatewayUsageMethod (
1111        /*[out,retval]*/ unsigned long * pulProxyUsageMethod ) = 0;
1112      virtual HRESULT __stdcall put_GatewayProfileUsageMethod (
1113        /*[in]*/ unsigned long pulProxyProfileUsageMethod ) = 0;
1114      virtual HRESULT __stdcall get_GatewayProfileUsageMethod (
1115        /*[out,retval]*/ unsigned long * pulProxyProfileUsageMethod ) = 0;
1116      virtual HRESULT __stdcall put_GatewayCredsSource (
1117        /*[in]*/ unsigned long pulProxyCredsSource ) = 0;
1118      virtual HRESULT __stdcall get_GatewayCredsSource (
1119        /*[out,retval]*/ unsigned long * pulProxyCredsSource ) = 0;
1120      virtual HRESULT __stdcall put_GatewayUserSelectedCredsSource (
1121        /*[in]*/ unsigned long pulProxyCredsSource ) = 0;
1122      virtual HRESULT __stdcall get_GatewayUserSelectedCredsSource (
1123        /*[out,retval]*/ unsigned long * pulProxyCredsSource ) = 0;
1124      virtual HRESULT __stdcall get_GatewayIsSupported (
1125        /*[out,retval]*/ long * pfProxyIsSupported ) = 0;
1126      virtual HRESULT __stdcall get_GatewayDefaultUsageMethod (
1127        /*[out,retval]*/ unsigned long * pulProxyDefaultUsageMethod ) = 0;
1128};
1129
1130struct __declspec(uuid("fba7f64e-6783-4405-da45-fa4a763dabd0"))
1131IMsRdpClientAdvancedSettings5 : IMsRdpClientAdvancedSettings4
1132{
1133    //
1134    // Raw methods provided by interface
1135    //
1136
1137      virtual HRESULT __stdcall put_RedirectClipboard (
1138        /*[in]*/ VARIANT_BOOL pfRedirectClipboard ) = 0;
1139      virtual HRESULT __stdcall get_RedirectClipboard (
1140        /*[out,retval]*/ VARIANT_BOOL * pfRedirectClipboard ) = 0;
1141      virtual HRESULT __stdcall put_AudioRedirectionMode (
1142        /*[in]*/ unsigned int puiAudioRedirectionMode ) = 0;
1143      virtual HRESULT __stdcall get_AudioRedirectionMode (
1144        /*[out,retval]*/ unsigned int * puiAudioRedirectionMode ) = 0;
1145      virtual HRESULT __stdcall put_ConnectionBarShowPinButton (
1146        /*[in]*/ VARIANT_BOOL pfShowPin ) = 0;
1147      virtual HRESULT __stdcall get_ConnectionBarShowPinButton (
1148        /*[out,retval]*/ VARIANT_BOOL * pfShowPin ) = 0;
1149      virtual HRESULT __stdcall put_PublicMode (
1150        /*[in]*/ VARIANT_BOOL pfPublicMode ) = 0;
1151      virtual HRESULT __stdcall get_PublicMode (
1152        /*[out,retval]*/ VARIANT_BOOL * pfPublicMode ) = 0;
1153      virtual HRESULT __stdcall put_RedirectDevices (
1154        /*[in]*/ VARIANT_BOOL pfRedirectPnPDevices ) = 0;
1155      virtual HRESULT __stdcall get_RedirectDevices (
1156        /*[out,retval]*/ VARIANT_BOOL * pfRedirectPnPDevices ) = 0;
1157      virtual HRESULT __stdcall put_RedirectPOSDevices (
1158        /*[in]*/ VARIANT_BOOL pfRedirectPOSDevices ) = 0;
1159      virtual HRESULT __stdcall get_RedirectPOSDevices (
1160        /*[out,retval]*/ VARIANT_BOOL * pfRedirectPOSDevices ) = 0;
1161      virtual HRESULT __stdcall put_BitmapVirtualCache32BppSize (
1162        /*[in]*/ long pBitmapVirtualCache32BppSize ) = 0;
1163      virtual HRESULT __stdcall get_BitmapVirtualCache32BppSize (
1164        /*[out,retval]*/ long * pBitmapVirtualCache32BppSize ) = 0;
1165};
1166
1167struct __declspec(uuid("fdd029f9-467a-4c49-8529-64b521dbd1b4"))
1168ITSRemoteProgram : IDispatch
1169{
1170    //
1171    // Raw methods provided by interface
1172    //
1173
1174      virtual HRESULT __stdcall put_RemoteProgramMode (
1175        /*[in]*/ VARIANT_BOOL pvboolRemoteProgramMode ) = 0;
1176      virtual HRESULT __stdcall get_RemoteProgramMode (
1177        /*[out,retval]*/ VARIANT_BOOL * pvboolRemoteProgramMode ) = 0;
1178      virtual HRESULT __stdcall ServerStartProgram (
1179        /*[in]*/ BSTR bstrExecutablePath,
1180        /*[in]*/ BSTR bstrFilePath,
1181        /*[in]*/ BSTR bstrWorkingDirectory,
1182        /*[in]*/ VARIANT_BOOL vbExpandEnvVarInWorkingDirectoryOnServer,
1183        /*[in]*/ BSTR bstrArguments,
1184        /*[in]*/ VARIANT_BOOL vbExpandEnvVarInArgumentsOnServer ) = 0;
1185};
1186
1187struct __declspec(uuid("d012ae6d-c19a-4bfe-b367-201f8911f134"))
1188IMsRdpClientShell : IDispatch
1189{
1190    //
1191    // Raw methods provided by interface
1192    //
1193
1194      virtual HRESULT __stdcall Launch ( ) = 0;
1195      virtual HRESULT __stdcall put_RdpFileContents (
1196        /*[in]*/ BSTR pszRdpFile ) = 0;
1197      virtual HRESULT __stdcall get_RdpFileContents (
1198        /*[out,retval]*/ BSTR * pszRdpFile ) = 0;
1199      virtual HRESULT __stdcall SetRdpProperty (
1200        /*[in]*/ BSTR szProperty,
1201        /*[in]*/ VARIANT Value ) = 0;
1202      virtual HRESULT __stdcall GetRdpProperty (
1203        /*[in]*/ BSTR szProperty,
1204        /*[out,retval]*/ VARIANT * pValue ) = 0;
1205      virtual HRESULT __stdcall get_IsRemoteProgramClientInstalled (
1206        /*[out,retval]*/ VARIANT_BOOL * pbClientInstalled ) = 0;
1207      virtual HRESULT __stdcall put_PublicMode (
1208        /*[in]*/ VARIANT_BOOL pfPublicMode ) = 0;
1209      virtual HRESULT __stdcall get_PublicMode (
1210        /*[out,retval]*/ VARIANT_BOOL * pfPublicMode ) = 0;
1211      virtual HRESULT __stdcall ShowTrustedSitesManagementDialog ( ) = 0;
1212};
1213
1214struct __declspec(uuid("4eb5335b-6429-477d-b922-e06a28ecd8bf"))
1215IMsRdpClient5 : IMsRdpClient4
1216{
1217    //
1218    // Raw methods provided by interface
1219    //
1220
1221      virtual HRESULT __stdcall get_TransportSettings (
1222        /*[out,retval]*/ struct IMsRdpClientTransportSettings * * ppXportSet ) = 0;
1223      virtual HRESULT __stdcall get_AdvancedSettings6 (
1224        /*[out,retval]*/ struct IMsRdpClientAdvancedSettings5 * * ppAdvSettings ) = 0;
1225      virtual HRESULT __stdcall GetErrorDescription (
1226        /*[in]*/ unsigned int disconnectReason,
1227        /*[in]*/ unsigned int ExtendedDisconnectReason,
1228        /*[out,retval]*/ BSTR * pBstrErrorMsg ) = 0;
1229      virtual HRESULT __stdcall get_RemoteProgram (
1230        /*[out,retval]*/ struct ITSRemoteProgram * * ppRemoteProgram ) = 0;
1231      virtual HRESULT __stdcall get_MsRdpClientShell (
1232        /*[out,retval]*/ struct IMsRdpClientShell * * ppLauncher ) = 0;
1233};
1234
1235struct __declspec(uuid("60c3b9c8-9e92-4f5e-a3e7-604a912093ea"))
1236IMsRdpDevice : IUnknown
1237{
1238    //
1239    // Raw methods provided by interface
1240    //
1241
1242      virtual HRESULT __stdcall get_DeviceInstanceId (
1243        /*[out,retval]*/ BSTR * pDevInstanceId ) = 0;
1244      virtual HRESULT __stdcall get_FriendlyName (
1245        /*[out,retval]*/ BSTR * pFriendlyName ) = 0;
1246      virtual HRESULT __stdcall get_DeviceDescription (
1247        /*[out,retval]*/ BSTR * pDeviceDescription ) = 0;
1248      virtual HRESULT __stdcall put_RedirectionState (
1249        /*[in]*/ VARIANT_BOOL pvboolRedirState ) = 0;
1250      virtual HRESULT __stdcall get_RedirectionState (
1251        /*[out,retval]*/ VARIANT_BOOL * pvboolRedirState ) = 0;
1252};
1253
1254struct __declspec(uuid("56540617-d281-488c-8738-6a8fdf64a118"))
1255IMsRdpDeviceCollection : IUnknown
1256{
1257    //
1258    // Raw methods provided by interface
1259    //
1260
1261      virtual HRESULT __stdcall RescanDevices (
1262        /*[in]*/ VARIANT_BOOL vboolDynRedir ) = 0;
1263      virtual HRESULT __stdcall get_DeviceByIndex (
1264        /*[in]*/ unsigned long index,
1265        /*[out,retval]*/ struct IMsRdpDevice * * ppDevice ) = 0;
1266      virtual HRESULT __stdcall get_DeviceById (
1267        /*[in]*/ BSTR devInstanceId,
1268        /*[out,retval]*/ struct IMsRdpDevice * * ppDevice ) = 0;
1269      virtual HRESULT __stdcall get_DeviceCount (
1270        /*[out,retval]*/ unsigned long * pDeviceCount ) = 0;
1271};
1272
1273struct __declspec(uuid("d28b5458-f694-47a8-8e61-40356a767e46"))
1274IMsRdpDrive : IUnknown
1275{
1276    //
1277    // Raw methods provided by interface
1278    //
1279
1280      virtual HRESULT __stdcall get_Name (
1281        /*[out,retval]*/ BSTR * pName ) = 0;
1282      virtual HRESULT __stdcall put_RedirectionState (
1283        /*[in]*/ VARIANT_BOOL pvboolRedirState ) = 0;
1284      virtual HRESULT __stdcall get_RedirectionState (
1285        /*[out,retval]*/ VARIANT_BOOL * pvboolRedirState ) = 0;
1286};
1287
1288struct __declspec(uuid("7ff17599-da2c-4677-ad35-f60c04fe1585"))
1289IMsRdpDriveCollection : IUnknown
1290{
1291    //
1292    // Raw methods provided by interface
1293    //
1294
1295      virtual HRESULT __stdcall RescanDrives (
1296        VARIANT_BOOL vboolDynRedir ) = 0;
1297      virtual HRESULT __stdcall get_DriveByIndex (
1298        /*[in]*/ unsigned long index,
1299        /*[out,retval]*/ struct IMsRdpDrive * * ppDevice ) = 0;
1300      virtual HRESULT __stdcall get_DriveCount (
1301        /*[out,retval]*/ unsigned long * pDriveCount ) = 0;
1302};
1303
1304struct __declspec(uuid("b3378d90-0728-45c7-8ed7-b6159fb92219"))
1305IMsRdpClientNonScriptable3 : IMsRdpClientNonScriptable2
1306{
1307    //
1308    // Raw methods provided by interface
1309    //
1310
1311      virtual HRESULT __stdcall put_ShowRedirectionWarningDialog (
1312        /*[in]*/ VARIANT_BOOL pfShowRdrDlg ) = 0;
1313      virtual HRESULT __stdcall get_ShowRedirectionWarningDialog (
1314        /*[out,retval]*/ VARIANT_BOOL * pfShowRdrDlg ) = 0;
1315      virtual HRESULT __stdcall put_PromptForCredentials (
1316        /*[in]*/ VARIANT_BOOL pfPrompt ) = 0;
1317      virtual HRESULT __stdcall get_PromptForCredentials (
1318        /*[out,retval]*/ VARIANT_BOOL * pfPrompt ) = 0;
1319      virtual HRESULT __stdcall put_NegotiateSecurityLayer (
1320        /*[in]*/ VARIANT_BOOL pfNegotiate ) = 0;
1321      virtual HRESULT __stdcall get_NegotiateSecurityLayer (
1322        /*[out,retval]*/ VARIANT_BOOL * pfNegotiate ) = 0;
1323      virtual HRESULT __stdcall put_EnableCredSspSupport (
1324        /*[in]*/ VARIANT_BOOL pfEnableSupport ) = 0;
1325      virtual HRESULT __stdcall get_EnableCredSspSupport (
1326        /*[out,retval]*/ VARIANT_BOOL * pfEnableSupport ) = 0;
1327      virtual HRESULT __stdcall put_RedirectDynamicDrives (
1328        /*[in]*/ VARIANT_BOOL pfRedirectDynamicDrives ) = 0;
1329      virtual HRESULT __stdcall get_RedirectDynamicDrives (
1330        /*[out,retval]*/ VARIANT_BOOL * pfRedirectDynamicDrives ) = 0;
1331      virtual HRESULT __stdcall put_RedirectDynamicDevices (
1332        /*[in]*/ VARIANT_BOOL pfRedirectDynamicDevices ) = 0;
1333      virtual HRESULT __stdcall get_RedirectDynamicDevices (
1334        /*[out,retval]*/ VARIANT_BOOL * pfRedirectDynamicDevices ) = 0;
1335      virtual HRESULT __stdcall get_DeviceCollection (
1336        /*[out,retval]*/ struct IMsRdpDeviceCollection * * ppDeviceCollection ) = 0;
1337      virtual HRESULT __stdcall get_DriveCollection (
1338        /*[out,retval]*/ struct IMsRdpDriveCollection * * ppDeviceCollection ) = 0;
1339      virtual HRESULT __stdcall put_WarnAboutSendingCredentials (
1340        /*[in]*/ VARIANT_BOOL pfWarn ) = 0;
1341      virtual HRESULT __stdcall get_WarnAboutSendingCredentials (
1342        /*[out,retval]*/ VARIANT_BOOL * pfWarn ) = 0;
1343      virtual HRESULT __stdcall put_WarnAboutClipboardRedirection (
1344        /*[in]*/ VARIANT_BOOL pfWarn ) = 0;
1345      virtual HRESULT __stdcall get_WarnAboutClipboardRedirection (
1346        /*[out,retval]*/ VARIANT_BOOL * pfWarn ) = 0;
1347      virtual HRESULT __stdcall put_ConnectionBarText (
1348        /*[in]*/ BSTR pConnectionBarText ) = 0;
1349      virtual HRESULT __stdcall get_ConnectionBarText (
1350        /*[out,retval]*/ BSTR * pConnectionBarText ) = 0;
1351};
1352
1353struct __declspec(uuid("4eb89ff4-7f78-4a0f-8b8d-2bf02e94e4b2"))
1354MsRdpClient5;
1355    // [ default ] interface IMsRdpClient5
1356    // interface IMsRdpClient4
1357    // interface IMsRdpClient3
1358    // interface IMsRdpClient2
1359    // interface IMsRdpClient
1360    // interface IMsTscAx
1361    // interface IMsTscAx_Redist
1362    // [ default, source ] dispinterface IMsTscAxEvents
1363    // interface IMsTscNonScriptable
1364    // interface IMsRdpClientNonScriptable
1365    // interface IMsRdpClientNonScriptable2
1366    // interface IMsRdpClientNonScriptable3
1367
1368struct __declspec(uuid("d2ea46a7-c2bf-426b-af24-e19c44456399"))
1369MsRdpClient6NotSafeForScripting;
1370    // [ default ] interface IMsRdpClient6
1371    // interface IMsRdpClient5
1372    // interface IMsRdpClient4
1373    // interface IMsRdpClient3
1374    // interface IMsRdpClient2
1375    // interface IMsRdpClient
1376    // interface IMsTscAx
1377    // interface IMsTscAx_Redist
1378    // [ default, source ] dispinterface IMsTscAxEvents
1379    // interface IMsTscNonScriptable
1380    // interface IMsRdpClientNonScriptable
1381    // interface IMsRdpClientNonScriptable2
1382    // interface IMsRdpClientNonScriptable3
1383    // interface IMsRdpClientNonScriptable4
1384
1385struct __declspec(uuid("222c4b5d-45d9-4df0-a7c6-60cf9089d285"))
1386IMsRdpClientAdvancedSettings6 : IMsRdpClientAdvancedSettings5
1387{
1388    //
1389    // Raw methods provided by interface
1390    //
1391
1392      virtual HRESULT __stdcall put_RelativeMouseMode (
1393        /*[in]*/ VARIANT_BOOL pfRelativeMouseMode ) = 0;
1394      virtual HRESULT __stdcall get_RelativeMouseMode (
1395        /*[out,retval]*/ VARIANT_BOOL * pfRelativeMouseMode ) = 0;
1396      virtual HRESULT __stdcall get_AuthenticationServiceClass (
1397        /*[out,retval]*/ BSTR * pbstrAuthServiceClass ) = 0;
1398      virtual HRESULT __stdcall put_AuthenticationServiceClass (
1399        /*[in]*/ BSTR pbstrAuthServiceClass ) = 0;
1400      virtual HRESULT __stdcall get_PCB (
1401        /*[out,retval]*/ BSTR * bstrPCB ) = 0;
1402      virtual HRESULT __stdcall put_PCB (
1403        /*[in]*/ BSTR bstrPCB ) = 0;
1404      virtual HRESULT __stdcall put_HotKeyFocusReleaseLeft (
1405        /*[in]*/ long HotKeyFocusReleaseLeft ) = 0;
1406      virtual HRESULT __stdcall get_HotKeyFocusReleaseLeft (
1407        /*[out,retval]*/ long * HotKeyFocusReleaseLeft ) = 0;
1408      virtual HRESULT __stdcall put_HotKeyFocusReleaseRight (
1409        /*[in]*/ long HotKeyFocusReleaseRight ) = 0;
1410      virtual HRESULT __stdcall get_HotKeyFocusReleaseRight (
1411        /*[out,retval]*/ long * HotKeyFocusReleaseRight ) = 0;
1412      virtual HRESULT __stdcall put_EnableCredSspSupport (
1413        /*[in]*/ VARIANT_BOOL pfEnableSupport ) = 0;
1414      virtual HRESULT __stdcall get_EnableCredSspSupport (
1415        /*[out,retval]*/ VARIANT_BOOL * pfEnableSupport ) = 0;
1416      virtual HRESULT __stdcall get_AuthenticationType (
1417        /*[out,retval]*/ unsigned int * puiAuthType ) = 0;
1418      virtual HRESULT __stdcall put_ConnectToAdministerServer (
1419        /*[in]*/ VARIANT_BOOL pConnectToAdministerServer ) = 0;
1420      virtual HRESULT __stdcall get_ConnectToAdministerServer (
1421        /*[out,retval]*/ VARIANT_BOOL * pConnectToAdministerServer ) = 0;
1422};
1423
1424struct __declspec(uuid("67341688-d606-4c73-a5d2-2e0489009319"))
1425IMsRdpClientTransportSettings2 : IMsRdpClientTransportSettings
1426{
1427    //
1428    // Raw methods provided by interface
1429    //
1430
1431      virtual HRESULT __stdcall put_GatewayCredSharing (
1432        /*[in]*/ unsigned long pulProxyCredSharing ) = 0;
1433      virtual HRESULT __stdcall get_GatewayCredSharing (
1434        /*[out,retval]*/ unsigned long * pulProxyCredSharing ) = 0;
1435      virtual HRESULT __stdcall put_GatewayPreAuthRequirement (
1436        /*[in]*/ unsigned long pulProxyPreAuthRequirement ) = 0;
1437      virtual HRESULT __stdcall get_GatewayPreAuthRequirement (
1438        /*[out,retval]*/ unsigned long * pulProxyPreAuthRequirement ) = 0;
1439      virtual HRESULT __stdcall put_GatewayPreAuthServerAddr (
1440        /*[in]*/ BSTR pbstrProxyPreAuthServerAddr ) = 0;
1441      virtual HRESULT __stdcall get_GatewayPreAuthServerAddr (
1442        /*[out,retval]*/ BSTR * pbstrProxyPreAuthServerAddr ) = 0;
1443      virtual HRESULT __stdcall put_GatewaySupportUrl (
1444        /*[in]*/ BSTR pbstrProxySupportUrl ) = 0;
1445      virtual HRESULT __stdcall get_GatewaySupportUrl (
1446        /*[out,retval]*/ BSTR * pbstrProxySupportUrl ) = 0;
1447      virtual HRESULT __stdcall put_GatewayEncryptedOtpCookie (
1448        /*[in]*/ BSTR pbstrEncryptedOtpCookie ) = 0;
1449      virtual HRESULT __stdcall get_GatewayEncryptedOtpCookie (
1450        /*[out,retval]*/ BSTR * pbstrEncryptedOtpCookie ) = 0;
1451      virtual HRESULT __stdcall put_GatewayEncryptedOtpCookieSize (
1452        /*[in]*/ unsigned long pulEncryptedOtpCookieSize ) = 0;
1453      virtual HRESULT __stdcall get_GatewayEncryptedOtpCookieSize (
1454        /*[out,retval]*/ unsigned long * pulEncryptedOtpCookieSize ) = 0;
1455      virtual HRESULT __stdcall put_GatewayUsername (
1456        /*[in]*/ BSTR pProxyUsername ) = 0;
1457      virtual HRESULT __stdcall get_GatewayUsername (
1458        /*[out,retval]*/ BSTR * pProxyUsername ) = 0;
1459      virtual HRESULT __stdcall put_GatewayDomain (
1460        /*[in]*/ BSTR pProxyDomain ) = 0;
1461      virtual HRESULT __stdcall get_GatewayDomain (
1462        /*[out,retval]*/ BSTR * pProxyDomain ) = 0;
1463      virtual HRESULT __stdcall put_GatewayPassword (
1464        /*[in]*/ BSTR _arg1 ) = 0;
1465};
1466
1467struct __declspec(uuid("d43b7d80-8517-4b6d-9eac-96ad6800d7f2"))
1468IMsRdpClient6 : IMsRdpClient5
1469{
1470    //
1471    // Raw methods provided by interface
1472    //
1473
1474      virtual HRESULT __stdcall get_AdvancedSettings7 (
1475        /*[out,retval]*/ struct IMsRdpClientAdvancedSettings6 * * ppAdvSettings ) = 0;
1476      virtual HRESULT __stdcall get_TransportSettings2 (
1477        /*[out,retval]*/ struct IMsRdpClientTransportSettings2 * * ppXportSet2 ) = 0;
1478};
1479
1480struct __declspec(uuid("f50fa8aa-1c7d-4f59-b15c-a90cacae1fcb"))
1481IMsRdpClientNonScriptable4 : IMsRdpClientNonScriptable3
1482{
1483    //
1484    // Raw methods provided by interface
1485    //
1486
1487      virtual HRESULT __stdcall put_RedirectionWarningType (
1488        /*[in]*/ RedirectionWarningType pWrnType ) = 0;
1489      virtual HRESULT __stdcall get_RedirectionWarningType (
1490        /*[out,retval]*/ RedirectionWarningType * pWrnType ) = 0;
1491      virtual HRESULT __stdcall put_MarkRdpSettingsSecure (
1492        /*[in]*/ VARIANT_BOOL pfRdpSecure ) = 0;
1493      virtual HRESULT __stdcall get_MarkRdpSettingsSecure (
1494        /*[out,retval]*/ VARIANT_BOOL * pfRdpSecure ) = 0;
1495      virtual HRESULT __stdcall put_PublisherCertificateChain (
1496        /*[in]*/ VARIANT * pVarCert ) = 0;
1497      virtual HRESULT __stdcall get_PublisherCertificateChain (
1498        /*[out,retval]*/ VARIANT * pVarCert ) = 0;
1499      virtual HRESULT __stdcall put_WarnAboutPrinterRedirection (
1500        /*[in]*/ VARIANT_BOOL pfWarn ) = 0;
1501      virtual HRESULT __stdcall get_WarnAboutPrinterRedirection (
1502        /*[out,retval]*/ VARIANT_BOOL * pfWarn ) = 0;
1503      virtual HRESULT __stdcall put_AllowCredentialSaving (
1504        /*[in]*/ VARIANT_BOOL pfAllowSave ) = 0;
1505      virtual HRESULT __stdcall get_AllowCredentialSaving (
1506        /*[out,retval]*/ VARIANT_BOOL * pfAllowSave ) = 0;
1507      virtual HRESULT __stdcall put_PromptForCredsOnClient (
1508        /*[in]*/ VARIANT_BOOL pfPromptForCredsOnClient ) = 0;
1509      virtual HRESULT __stdcall get_PromptForCredsOnClient (
1510        /*[out,retval]*/ VARIANT_BOOL * pfPromptForCredsOnClient ) = 0;
1511      virtual HRESULT __stdcall put_LaunchedViaClientShellInterface (
1512        /*[in]*/ VARIANT_BOOL pfLaunchedViaClientShellInterface ) = 0;
1513      virtual HRESULT __stdcall get_LaunchedViaClientShellInterface (
1514        /*[out,retval]*/ VARIANT_BOOL * pfLaunchedViaClientShellInterface ) = 0;
1515      virtual HRESULT __stdcall put_TrustedZoneSite (
1516        /*[in]*/ VARIANT_BOOL pfIsTrustedZone ) = 0;
1517      virtual HRESULT __stdcall get_TrustedZoneSite (
1518        /*[out,retval]*/ VARIANT_BOOL * pfIsTrustedZone ) = 0;
1519};
1520
1521enum __MIDL_IMsRdpClientNonScriptable4_0001
1522{
1523    RedirectionWarningTypeDefault = 0,
1524    RedirectionWarningTypeUnsigned = 1,
1525    RedirectionWarningTypeUnknown = 2,
1526    RedirectionWarningTypeUser = 3,
1527    RedirectionWarningTypeThirdPartySigned = 4,
1528    RedirectionWarningTypeTrusted = 5,
1529    RedirectionWarningTypeMax = 5
1530};
1531
1532struct __declspec(uuid("7390f3d8-0439-4c05-91e3-cf5cb290c3d0"))
1533MsRdpClient6;
1534    // [ default ] interface IMsRdpClient6
1535    // interface IMsRdpClient5
1536    // interface IMsRdpClient4
1537    // interface IMsRdpClient3
1538    // interface IMsRdpClient2
1539    // interface IMsRdpClient
1540    // interface IMsTscAx
1541    // interface IMsTscAx_Redist
1542    // [ default, source ] dispinterface IMsTscAxEvents
1543    // interface IMsTscNonScriptable
1544    // interface IMsRdpClientNonScriptable
1545    // interface IMsRdpClientNonScriptable2
1546    // interface IMsRdpClientNonScriptable3
1547    // interface IMsRdpClientNonScriptable4
1548
1549struct __declspec(uuid("54d38bf7-b1ef-4479-9674-1bd6ea465258"))
1550MsRdpClient7NotSafeForScripting;
1551    // [ default ] interface IMsRdpClient7
1552    // interface IMsRdpClient6
1553    // interface IMsRdpClient5
1554    // interface IMsRdpClient4
1555    // interface IMsRdpClient3
1556    // interface IMsRdpClient2
1557    // interface IMsRdpClient
1558    // interface IMsTscAx
1559    // interface IMsTscAx_Redist
1560    // [ default, source ] dispinterface IMsTscAxEvents
1561    // interface IMsTscNonScriptable
1562    // interface IMsRdpClientNonScriptable
1563    // interface IMsRdpClientNonScriptable2
1564    // interface IMsRdpClientNonScriptable3
1565    // interface IMsRdpClientNonScriptable4
1566    // interface IMsRdpClientNonScriptable5
1567    // interface IMsRdpPreferredRedirectionInfo
1568    // interface IMsRdpExtendedSettings
1569
1570struct __declspec(uuid("26036036-4010-4578-8091-0db9a1edf9c3"))
1571IMsRdpClientAdvancedSettings7 : IMsRdpClientAdvancedSettings6
1572{
1573    //
1574    // Raw methods provided by interface
1575    //
1576
1577      virtual HRESULT __stdcall put_AudioCaptureRedirectionMode (
1578        /*[in]*/ VARIANT_BOOL pfRedir ) = 0;
1579      virtual HRESULT __stdcall get_AudioCaptureRedirectionMode (
1580        /*[out,retval]*/ VARIANT_BOOL * pfRedir ) = 0;
1581      virtual HRESULT __stdcall put_VideoPlaybackMode (
1582        /*[in]*/ unsigned int pVideoPlaybackMode ) = 0;
1583      virtual HRESULT __stdcall get_VideoPlaybackMode (
1584        /*[out,retval]*/ unsigned int * pVideoPlaybackMode ) = 0;
1585      virtual HRESULT __stdcall put_EnableSuperPan (
1586        /*[in]*/ VARIANT_BOOL pfEnableSuperPan ) = 0;
1587      virtual HRESULT __stdcall get_EnableSuperPan (
1588        /*[out,retval]*/ VARIANT_BOOL * pfEnableSuperPan ) = 0;
1589      virtual HRESULT __stdcall put_SuperPanAccelerationFactor (
1590        /*[in]*/ unsigned long puAccelFactor ) = 0;
1591      virtual HRESULT __stdcall get_SuperPanAccelerationFactor (
1592        /*[out,retval]*/ unsigned long * puAccelFactor ) = 0;
1593      virtual HRESULT __stdcall put_NegotiateSecurityLayer (
1594        /*[in]*/ VARIANT_BOOL pfNegotiate ) = 0;
1595      virtual HRESULT __stdcall get_NegotiateSecurityLayer (
1596        /*[out,retval]*/ VARIANT_BOOL * pfNegotiate ) = 0;
1597      virtual HRESULT __stdcall put_AudioQualityMode (
1598        /*[in]*/ unsigned int pAudioQualityMode ) = 0;
1599      virtual HRESULT __stdcall get_AudioQualityMode (
1600        /*[out,retval]*/ unsigned int * pAudioQualityMode ) = 0;
1601      virtual HRESULT __stdcall put_RedirectDirectX (
1602        /*[in]*/ VARIANT_BOOL pfRedirectDirectX ) = 0;
1603      virtual HRESULT __stdcall get_RedirectDirectX (
1604        /*[out,retval]*/ VARIANT_BOOL * pfRedirectDirectX ) = 0;
1605      virtual HRESULT __stdcall put_NetworkConnectionType (
1606        /*[in]*/ unsigned int pConnectionType ) = 0;
1607      virtual HRESULT __stdcall get_NetworkConnectionType (
1608        /*[out,retval]*/ unsigned int * pConnectionType ) = 0;
1609};
1610
1611struct __declspec(uuid("3d5b21ac-748d-41de-8f30-e15169586bd4"))
1612IMsRdpClientTransportSettings3 : IMsRdpClientTransportSettings2
1613{
1614    //
1615    // Raw methods provided by interface
1616    //
1617
1618      virtual HRESULT __stdcall put_GatewayCredSourceCookie (
1619        /*[in]*/ unsigned long pulProxyCredSourceCookie ) = 0;
1620      virtual HRESULT __stdcall get_GatewayCredSourceCookie (
1621        /*[out,retval]*/ unsigned long * pulProxyCredSourceCookie ) = 0;
1622      virtual HRESULT __stdcall put_GatewayAuthCookieServerAddr (
1623        /*[in]*/ BSTR pbstrProxyAuthCookieServerAddr ) = 0;
1624      virtual HRESULT __stdcall get_GatewayAuthCookieServerAddr (
1625        /*[out,retval]*/ BSTR * pbstrProxyAuthCookieServerAddr ) = 0;
1626      virtual HRESULT __stdcall put_GatewayEncryptedAuthCookie (
1627        /*[in]*/ BSTR pbstrEncryptedAuthCookie ) = 0;
1628      virtual HRESULT __stdcall get_GatewayEncryptedAuthCookie (
1629        /*[out,retval]*/ BSTR * pbstrEncryptedAuthCookie ) = 0;
1630      virtual HRESULT __stdcall put_GatewayEncryptedAuthCookieSize (
1631        /*[in]*/ unsigned long pulEncryptedAuthCookieSize ) = 0;
1632      virtual HRESULT __stdcall get_GatewayEncryptedAuthCookieSize (
1633        /*[out,retval]*/ unsigned long * pulEncryptedAuthCookieSize ) = 0;
1634      virtual HRESULT __stdcall put_GatewayAuthLoginPage (
1635        /*[in]*/ BSTR pbstrProxyAuthLoginPage ) = 0;
1636      virtual HRESULT __stdcall get_GatewayAuthLoginPage (
1637        /*[out,retval]*/ BSTR * pbstrProxyAuthLoginPage ) = 0;
1638};
1639
1640struct __declspec(uuid("25f2ce20-8b1d-4971-a7cd-549dae201fc0"))
1641IMsRdpClientSecuredSettings2 : IMsRdpClientSecuredSettings
1642{
1643    //
1644    // Raw methods provided by interface
1645    //
1646
1647      virtual HRESULT __stdcall get_PCB (
1648        /*[out,retval]*/ BSTR * bstrPCB ) = 0;
1649      virtual HRESULT __stdcall put_PCB (
1650        /*[in]*/ BSTR bstrPCB ) = 0;
1651};
1652
1653struct __declspec(uuid("92c38a7d-241a-418c-9936-099872c9af20"))
1654ITSRemoteProgram2 : ITSRemoteProgram
1655{
1656    //
1657    // Raw methods provided by interface
1658    //
1659
1660      virtual HRESULT __stdcall put_RemoteApplicationName (
1661        /*[in]*/ BSTR _arg1 ) = 0;
1662      virtual HRESULT __stdcall put_RemoteApplicationProgram (
1663        /*[in]*/ BSTR _arg1 ) = 0;
1664      virtual HRESULT __stdcall put_RemoteApplicationArgs (
1665        /*[in]*/ BSTR _arg1 ) = 0;
1666};
1667
1668struct __declspec(uuid("b2a5b5ce-3461-444a-91d4-add26d070638"))
1669IMsRdpClient7 : IMsRdpClient6
1670{
1671    //
1672    // Raw methods provided by interface
1673    //
1674
1675      virtual HRESULT __stdcall get_AdvancedSettings8 (
1676        /*[out,retval]*/ struct IMsRdpClientAdvancedSettings7 * * ppAdvSettings ) = 0;
1677      virtual HRESULT __stdcall get_TransportSettings3 (
1678        /*[out,retval]*/ struct IMsRdpClientTransportSettings3 * * ppXportSet3 ) = 0;
1679      virtual HRESULT __stdcall GetStatusText (
1680        /*[in]*/ unsigned int statusCode,
1681        /*[out,retval]*/ BSTR * pBstrStatusText ) = 0;
1682      virtual HRESULT __stdcall get_SecuredSettings3 (
1683        /*[out,retval]*/ struct IMsRdpClientSecuredSettings2 * * ppSecuredSettings ) = 0;
1684      virtual HRESULT __stdcall get_RemoteProgram2 (
1685        /*[out,retval]*/ struct ITSRemoteProgram2 * * ppRemoteProgram ) = 0;
1686};
1687
1688struct __declspec(uuid("4f6996d5-d7b1-412c-b0ff-063718566907"))
1689IMsRdpClientNonScriptable5 : IMsRdpClientNonScriptable4
1690{
1691    //
1692    // Raw methods provided by interface
1693    //
1694
1695      virtual HRESULT __stdcall put_UseMultimon (
1696        /*[in]*/ VARIANT_BOOL pfUseMultimon ) = 0;
1697      virtual HRESULT __stdcall get_UseMultimon (
1698        /*[out,retval]*/ VARIANT_BOOL * pfUseMultimon ) = 0;
1699      virtual HRESULT __stdcall get_RemoteMonitorCount (
1700        /*[out,retval]*/ unsigned long * pcRemoteMonitors ) = 0;
1701      virtual HRESULT __stdcall GetRemoteMonitorsBoundingBox (
1702        /*[out]*/ long * pLeft,
1703        /*[out]*/ long * pTop,
1704        /*[out]*/ long * pRight,
1705        /*[out]*/ long * pBottom ) = 0;
1706      virtual HRESULT __stdcall get_RemoteMonitorLayoutMatchesLocal (
1707        /*[out,retval]*/ VARIANT_BOOL * pfRemoteMatchesLocal ) = 0;
1708      virtual HRESULT __stdcall put_DisableConnectionBar (
1709        /*[in]*/ VARIANT_BOOL _arg1 ) = 0;
1710      virtual HRESULT __stdcall put_DisableRemoteAppCapsCheck (
1711        /*[in]*/ VARIANT_BOOL pfDisableRemoteAppCapsCheck ) = 0;
1712      virtual HRESULT __stdcall get_DisableRemoteAppCapsCheck (
1713        /*[out,retval]*/ VARIANT_BOOL * pfDisableRemoteAppCapsCheck ) = 0;
1714      virtual HRESULT __stdcall put_WarnAboutDirectXRedirection (
1715        /*[in]*/ VARIANT_BOOL pfWarn ) = 0;
1716      virtual HRESULT __stdcall get_WarnAboutDirectXRedirection (
1717        /*[out,retval]*/ VARIANT_BOOL * pfWarn ) = 0;
1718      virtual HRESULT __stdcall put_AllowPromptingForCredentials (
1719        /*[in]*/ VARIANT_BOOL pfAllow ) = 0;
1720      virtual HRESULT __stdcall get_AllowPromptingForCredentials (
1721        /*[out,retval]*/ VARIANT_BOOL * pfAllow ) = 0;
1722};
1723
1724struct __declspec(uuid("fdd029f9-9574-4def-8529-64b521cccaa4"))
1725IMsRdpPreferredRedirectionInfo : IUnknown
1726{
1727    //
1728    // Raw methods provided by interface
1729    //
1730
1731      virtual HRESULT __stdcall put_UseRedirectionServerName (
1732        /*[in]*/ VARIANT_BOOL pVal ) = 0;
1733      virtual HRESULT __stdcall get_UseRedirectionServerName (
1734        /*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
1735};
1736
1737struct __declspec(uuid("302d8188-0052-4807-806a-362b628f9ac5"))
1738IMsRdpExtendedSettings : IUnknown
1739{
1740    //
1741    // Raw methods provided by interface
1742    //
1743
1744      virtual HRESULT __stdcall put_Property (
1745        /*[in]*/ BSTR bstrPropertyName,
1746        /*[in]*/ VARIANT * pValue ) = 0;
1747      virtual HRESULT __stdcall get_Property (
1748        /*[in]*/ BSTR bstrPropertyName,
1749        /*[out,retval]*/ VARIANT * pValue ) = 0;
1750};
1751
1752struct __declspec(uuid("a9d7038d-b5ed-472e-9c47-94bea90a5910"))
1753MsRdpClient7;
1754    // [ default ] interface IMsRdpClient7
1755    // interface IMsRdpClient6
1756    // interface IMsRdpClient5
1757    // interface IMsRdpClient4
1758    // interface IMsRdpClient3
1759    // interface IMsRdpClient2
1760    // interface IMsRdpClient
1761    // interface IMsTscAx
1762    // interface IMsTscAx_Redist
1763    // [ default, source ] dispinterface IMsTscAxEvents
1764    // interface IMsTscNonScriptable
1765    // interface IMsRdpClientNonScriptable
1766    // interface IMsRdpClientNonScriptable2
1767    // interface IMsRdpClientNonScriptable3
1768    // interface IMsRdpClientNonScriptable4
1769    // interface IMsRdpClientNonScriptable5
1770    // interface IMsRdpPreferredRedirectionInfo
1771
1772struct __declspec(uuid("a3bc03a0-041d-42e3-ad22-882b7865c9c5"))
1773MsRdpClient8NotSafeForScripting;
1774    // [ default ] interface IMsRdpClient8
1775    // interface IMsRdpClient7
1776    // interface IMsRdpClient6
1777    // interface IMsRdpClient5
1778    // interface IMsRdpClient4
1779    // interface IMsRdpClient3
1780    // interface IMsRdpClient2
1781    // interface IMsRdpClient
1782    // interface IMsTscAx
1783    // interface IMsTscAx_Redist
1784    // [ default, source ] dispinterface IMsTscAxEvents
1785    // interface IMsTscNonScriptable
1786    // interface IMsRdpClientNonScriptable
1787    // interface IMsRdpClientNonScriptable2
1788    // interface IMsRdpClientNonScriptable3
1789    // interface IMsRdpClientNonScriptable4
1790    // interface IMsRdpClientNonScriptable5
1791    // interface IMsRdpPreferredRedirectionInfo
1792    // interface IMsRdpExtendedSettings
1793
1794enum __MIDL___MIDL_itf_mstsax_0000_0000_0004
1795{
1796    RemoteSessionActionCharms = 0,
1797    RemoteSessionActionAppbar = 1,
1798    RemoteSessionActionSnap = 2,
1799    RemoteSessionActionStartScreen = 3,
1800    RemoteSessionActionAppSwitch = 4
1801};
1802
1803struct __declspec(uuid("89acb528-2557-4d16-8625-226a30e97e9a"))
1804IMsRdpClientAdvancedSettings8 : IMsRdpClientAdvancedSettings7
1805{
1806    //
1807    // Raw methods provided by interface
1808    //
1809
1810      virtual HRESULT __stdcall put_BandwidthDetection (
1811        /*[in]*/ VARIANT_BOOL pfAutodetect ) = 0;
1812      virtual HRESULT __stdcall get_BandwidthDetection (
1813        /*[out,retval]*/ VARIANT_BOOL * pfAutodetect ) = 0;
1814      virtual HRESULT __stdcall put_ClientProtocolSpec (
1815        /*[in]*/ ClientSpec pClientMode ) = 0;
1816      virtual HRESULT __stdcall get_ClientProtocolSpec (
1817        /*[out,retval]*/ ClientSpec * pClientMode ) = 0;
1818};
1819
1820enum __MIDL___MIDL_itf_mstsax_0000_0000_0003
1821{
1822    FullMode = 0,
1823    ThinClientMode = 1,
1824    SmallCacheMode = 2
1825};
1826
1827struct __declspec(uuid("4247e044-9271-43a9-bc49-e2ad9e855d62"))
1828IMsRdpClient8 : IMsRdpClient7
1829{
1830    //
1831    // Raw methods provided by interface
1832    //
1833
1834      virtual HRESULT __stdcall SendRemoteAction (
1835        /*[in]*/ RemoteSessionActionType actionType ) = 0;
1836      virtual HRESULT __stdcall get_AdvancedSettings9 (
1837        /*[out,retval]*/ struct IMsRdpClientAdvancedSettings8 * * ppAdvSettings ) = 0;
1838      virtual HRESULT __stdcall Reconnect (
1839        /*[in]*/ unsigned long ulWidth,
1840        /*[in]*/ unsigned long ulHeight,
1841        /*[out,retval]*/ ControlReconnectStatus * pReconnectStatus ) = 0;
1842};
1843
1844enum __MIDL_IMsRdpClient8_0001
1845{
1846    controlReconnectStarted = 0,
1847    controlReconnectBlocked = 1
1848};
1849
1850struct __declspec(uuid("5f681803-2900-4c43-a1cc-cf405404a676"))
1851MsRdpClient8;
1852    // [ default ] interface IMsRdpClient8
1853    // interface IMsRdpClient7
1854    // interface IMsRdpClient6
1855    // interface IMsRdpClient5
1856    // interface IMsRdpClient4
1857    // interface IMsRdpClient3
1858    // interface IMsRdpClient2
1859    // interface IMsRdpClient
1860    // interface IMsTscAx
1861    // interface IMsTscAx_Redist
1862    // [ default, source ] dispinterface IMsTscAxEvents
1863    // interface IMsTscNonScriptable
1864    // interface IMsRdpClientNonScriptable
1865    // interface IMsRdpClientNonScriptable2
1866    // interface IMsRdpClientNonScriptable3
1867    // interface IMsRdpClientNonScriptable4
1868    // interface IMsRdpClientNonScriptable5
1869    // interface IMsRdpPreferredRedirectionInfo
1870
1871struct __declspec(uuid("079863b7-6d47-4105-8bfe-0cdcb360e67d"))
1872IRemoteDesktopClientEvents : IDispatch
1873{};
1874
1875struct __declspec(uuid("eab16c5d-eed1-4e95-868b-0fba1b42c092"))
1876RemoteDesktopClient;
1877    // [ default ] interface IRemoteDesktopClient
1878    // [ default, source ] dispinterface IRemoteDesktopClientEvents
1879
1880struct __declspec(uuid("48a0f2a7-2713-431f-bbac-6f4558e7d64d"))
1881IRemoteDesktopClientSettings : IDispatch
1882{
1883    //
1884    // Raw methods provided by interface
1885    //
1886
1887      virtual HRESULT __stdcall ApplySettings (
1888        /*[in]*/ BSTR RdpFileContents ) = 0;
1889      virtual HRESULT __stdcall RetrieveSettings (
1890        /*[out,retval]*/ BSTR * RdpFileContents ) = 0;
1891      virtual HRESULT __stdcall GetRdpProperty (
1892        /*[in]*/ BSTR propertyName,
1893        /*[out,retval]*/ VARIANT * Value ) = 0;
1894      virtual HRESULT __stdcall SetRdpProperty (
1895        /*[in]*/ BSTR propertyName,
1896        /*[in]*/ VARIANT Value ) = 0;
1897};
1898
1899enum __MIDL_IRemoteDesktopClientActions_0001
1900{
1901    RemoteActionCharms = 0,
1902    RemoteActionAppbar = 1,
1903    RemoteActionSnap = 2,
1904    RemoteActionStartScreen = 3,
1905    RemoteActionAppSwitch = 4
1906};
1907
1908enum __MIDL_IRemoteDesktopClientActions_0002
1909{
1910    SnapshotEncodingDataUri = 0
1911};
1912
1913struct __declspec(uuid("7d54bc4e-1028-45d4-8b0a-b9b6bffba176"))
1914IRemoteDesktopClientActions : IDispatch
1915{
1916    //
1917    // Raw methods provided by interface
1918    //
1919
1920      virtual HRESULT __stdcall SuspendScreenUpdates ( ) = 0;
1921      virtual HRESULT __stdcall ResumeScreenUpdates ( ) = 0;
1922      virtual HRESULT __stdcall ExecuteRemoteAction (
1923        /*[in]*/ RemoteActionType remoteAction ) = 0;
1924      virtual HRESULT __stdcall GetSnapshot (
1925        /*[in]*/ SnapshotEncodingType snapshotEncoding,
1926        /*[in]*/ SnapshotFormatType snapshotFormat,
1927        /*[in]*/ unsigned long snapshotWidth,
1928        /*[in]*/ unsigned long snapshotHeight,
1929        /*[out,retval]*/ BSTR * snapshotData ) = 0;
1930};
1931
1932enum __MIDL_IRemoteDesktopClientActions_0003
1933{
1934    SnapshotFormatPng = 0,
1935    SnapshotFormatJpeg = 1,
1936    SnapshotFormatBmp = 2
1937};
1938
1939struct __declspec(uuid("260ec22d-8cbc-44b5-9e88-2a37f6c93ae9"))
1940IRemoteDesktopClientTouchPointer : IDispatch
1941{
1942    //
1943    // Raw methods provided by interface
1944    //
1945
1946      virtual HRESULT __stdcall put_Enabled (
1947        /*[in]*/ VARIANT_BOOL Enabled ) = 0;
1948      virtual HRESULT __stdcall get_Enabled (
1949        /*[out,retval]*/ VARIANT_BOOL * Enabled ) = 0;
1950      virtual HRESULT __stdcall put_EventsEnabled (
1951        /*[in]*/ VARIANT_BOOL EventsEnabled ) = 0;
1952      virtual HRESULT __stdcall get_EventsEnabled (
1953        /*[out,retval]*/ VARIANT_BOOL * EventsEnabled ) = 0;
1954      virtual HRESULT __stdcall put_PointerSpeed (
1955        /*[in]*/ unsigned long PointerSpeed ) = 0;
1956      virtual HRESULT __stdcall get_PointerSpeed (
1957        /*[out,retval]*/ unsigned long * PointerSpeed ) = 0;
1958};
1959
1960struct __declspec(uuid("57d25668-625a-4905-be4e-304caa13f89c"))
1961IRemoteDesktopClient : IDispatch
1962{
1963    //
1964    // Raw methods provided by interface
1965    //
1966
1967      virtual HRESULT __stdcall Connect ( ) = 0;
1968      virtual HRESULT __stdcall Disconnect ( ) = 0;
1969      virtual HRESULT __stdcall Reconnect (
1970        /*[in]*/ unsigned long width,
1971        /*[in]*/ unsigned long height ) = 0;
1972      virtual HRESULT __stdcall get_Settings (
1973        /*[out,retval]*/ struct IRemoteDesktopClientSettings * * Settings ) = 0;
1974      virtual HRESULT __stdcall get_Actions (
1975        /*[out,retval]*/ struct IRemoteDesktopClientActions * * Actions ) = 0;
1976      virtual HRESULT __stdcall get_TouchPointer (
1977        /*[out,retval]*/ struct IRemoteDesktopClientTouchPointer * * TouchPointer ) = 0;
1978      virtual HRESULT __stdcall DeleteSavedCredentials (
1979        /*[in]*/ BSTR serverName ) = 0;
1980};
1981
1982} // namespace mstsc
1983
1984#pragma pack(pop)
1985