1b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// found in the LICENSE file.
4b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)//
5b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// LogExts API Logging Manifest describing the interfaces of the Remote Desktop
6b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// ActiveX control. All definitions were extracted from the type library
7b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// embedded into mstscax.dll.
8b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)//
9b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// To use this file copy it to winext\manifest directory of the WinDbg
10b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// installation and add #include "rdp.h" to winext\manifest\main.h. Then load
11b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// !logexts extension as usual and enable the "rdp" category.
12b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
13b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)module MSTSCAX.DLL:
14b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)category rdp:
15b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
16b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)//
17b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// GUIDs
18b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)//
19b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
20b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("336d5562-efa8-482e-8cb3-c5c0fc7a7db6")) IMsTscAxEvents;
21b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("92b4a539-7115-4b7c-a5a9-e5d9efc2780a")) IMsRdpClient;
22b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("8c11efae-92c3-11d1-bc1e-00c04fa31489")) IMsTscAx;
23b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("327bb5cd-834e-4400-aef2-b30e15e5d682")) IMsTscAx_Redist;
24b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("c9d65442-a0f9-45b2-8f73-d61d2db8cbb6")) IMsTscSecuredSettings;
25b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("809945cc-4b3b-4a92-a6b0-dbf9b5f2ef2d")) IMsTscAdvancedSettings;
26b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("209d0eb9-6254-47b1-9033-a98dae55bb27")) IMsTscDebug;
27b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("3c65b4ab-12b3-465b-acd4-b8dad3bff9e2")) IMsRdpClientAdvancedSettings;
28b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("605befcf-39c1-45cc-a811-068fb7be346d")) IMsRdpClientSecuredSettings;
29b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("c1e6743a-41c1-4a74-832a-0dd06c1c7a0e")) IMsTscNonScriptable;
30b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("2f079c4c-87b2-4afd-97ab-20cdb43038ae")) IMsRdpClientNonScriptable;
31b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("e7e17dc4-3b71-4ba7-a8e6-281ffadca28f")) IMsRdpClient2;
32b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("9ac42117-2b76-4320-aa44-0e616ab8437b")) IMsRdpClientAdvancedSettings2;
33b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("91b7cbc5-a72e-4fa0-9300-d647d7e897ff")) IMsRdpClient3;
34b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("19cd856b-c542-4c53-acee-f127e3be1a59")) IMsRdpClientAdvancedSettings3;
35b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("095e0738-d97d-488b-b9f6-dd0e8d66c0de")) IMsRdpClient4;
36b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("fba7f64e-7345-4405-ae50-fa4a763dc0de")) IMsRdpClientAdvancedSettings4;
37b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("17a5e535-4072-4fa4-af32-c8d0d47345e9")) IMsRdpClientNonScriptable2;
38b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("4eb5335b-6429-477d-b922-e06a28ecd8bf")) IMsRdpClient5;
39b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("720298c0-a099-46f5-9f82-96921bae4701")) IMsRdpClientTransportSettings;
40b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("fba7f64e-6783-4405-da45-fa4a763dabd0")) IMsRdpClientAdvancedSettings5;
41b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("fdd029f9-467a-4c49-8529-64b521dbd1b4")) ITSRemoteProgram;
42b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("d012ae6d-c19a-4bfe-b367-201f8911f134")) IMsRdpClientShell;
43b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("b3378d90-0728-45c7-8ed7-b6159fb92219")) IMsRdpClientNonScriptable3;
44b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("56540617-d281-488c-8738-6a8fdf64a118")) IMsRdpDeviceCollection;
45b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("60c3b9c8-9e92-4f5e-a3e7-604a912093ea")) IMsRdpDevice;
46b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("7ff17599-da2c-4677-ad35-f60c04fe1585")) IMsRdpDriveCollection;
47b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("d28b5458-f694-47a8-8e61-40356a767e46")) IMsRdpDrive;
48b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("d43b7d80-8517-4b6d-9eac-96ad6800d7f2")) IMsRdpClient6;
49b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("222c4b5d-45d9-4df0-a7c6-60cf9089d285")) IMsRdpClientAdvancedSettings6;
50b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("67341688-d606-4c73-a5d2-2e0489009319")) IMsRdpClientTransportSettings2;
51b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("f50fa8aa-1c7d-4f59-b15c-a90cacae1fcb")) IMsRdpClientNonScriptable4;
52b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("b2a5b5ce-3461-444a-91d4-add26d070638")) IMsRdpClient7;
53b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("26036036-4010-4578-8091-0db9a1edf9c3")) IMsRdpClientAdvancedSettings7;
54b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("3d5b21ac-748d-41de-8f30-e15169586bd4")) IMsRdpClientTransportSettings3;
55b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("25f2ce20-8b1d-4971-a7cd-549dae201fc0")) IMsRdpClientSecuredSettings2;
56b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("92c38a7d-241a-418c-9936-099872c9af20")) ITSRemoteProgram2;
57b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("4f6996d5-d7b1-412c-b0ff-063718566907")) IMsRdpClientNonScriptable5;
58b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("fdd029f9-9574-4def-8529-64b521cccaa4")) IMsRdpPreferredRedirectionInfo;
59b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("302d8188-0052-4807-806a-362b628f9ac5")) IMsRdpExtendedSettings;
60b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("4247e044-9271-43a9-bc49-e2ad9e855d62")) IMsRdpClient8;
61b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("89acb528-2557-4d16-8625-226a30e97e9a")) IMsRdpClientAdvancedSettings8;
62b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("079863b7-6d47-4105-8bfe-0cdcb360e67d")) IRemoteDesktopClientEvents;
63b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("57d25668-625a-4905-be4e-304caa13f89c")) IRemoteDesktopClient;
64b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("48a0f2a7-2713-431f-bbac-6f4558e7d64d")) IRemoteDesktopClientSettings;
65b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("7d54bc4e-1028-45d4-8b0a-b9b6bffba176")) IRemoteDesktopClientActions;
66b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("260ec22d-8cbc-44b5-9e88-2a37f6c93ae9")) IRemoteDesktopClientTouchPointer;
67b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct __declspec(uuid("A0B2DD9A-7F53-4E65-8547-851952EC8C96")) IMsRdpSessionManager;
68b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
69b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)//
70b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Typedefs
71b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)//
72b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
73b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)typedef LPVOID LONG_PTR;
74b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
75b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)typedef struct tagSAFEARRAYBOUND {
76b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  ULONG cElements;
77b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  LONG lLbound;
78b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} SAFEARRAYBOUND;
79b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
80b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)typedef struct tagSAFEARRAY {
81b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  USHORT         cDims;
82b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  USHORT         fFeatures;
83b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  ULONG          cbElements;
84b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  ULONG          cLocks;
85b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  PVOID          pvData;
86b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  SAFEARRAYBOUND rgsabound[1];
87b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} SAFEARRAY;
88b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
89b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)//
90b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Values
91b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)//
92b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
93b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value short  VARIANT_BOOL {
94b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define VARIANT_TRUE 0xffff
95b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define VARIANT_FALSE 0
96b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
97b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
98b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long AutoReconnectContinueState {
99b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define autoReconnectContinueAutomatic 0
100b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define autoReconnectContinueStop 1
101b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define autoReconnectContinueManual 2
102b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
103b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
104b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long RemoteWindowDisplayedAttribute {
105b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppWindowNone 0
106b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppWindowDisplayed 1
107b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppShellIconDisplayed 2
108b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
109b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
110b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long RemoteProgramResult {
111b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppResultOk 0
112b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppResultLocked 1
113b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppResultProtocolError 2
114b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppResultNotInWhitelist 3
115b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppResultNetworkPathDenied 4
116b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppResultFileNotFound 5
117b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppResultFailure 6
118b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define remoteAppResultHookNotLoaded 7
119b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
120b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
121b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long ExtendedDisconnectReasonCode {
122b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonNoInfo 0
123b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonAPIInitiatedDisconnect 1
124b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonAPIInitiatedLogoff 2
125b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonServerIdleTimeout 3
126b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonServerLogonTimeout 4
127b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonReplacedByOtherConnection 5
128b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonOutOfMemory 6
129b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonServerDeniedConnection 7
130b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonServerDeniedConnectionFips 8
131b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonServerInsufficientPrivileges 9
132b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonServerFreshCredsRequired 10
133b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseInternal 256
134b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseNoLicenseServer 257
135b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseNoLicense 258
136b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseErrClientMsg 259
137b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseHwidDoesntMatchLicense 260
138b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseErrClientLicense 261
139b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseCantFinishProtocol 262
140b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseClientEndedProtocol 263
141b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseErrClientEncryption 264
142b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseCantUpgradeLicense 265
143b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseNoRemoteConnections 266
144b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonLicenseCreatingLicStoreAccDenied 267
145b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonRdpEncInvalidCredentials 768
146b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonProtocolRangeStart 4096
147b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define exDiscReasonProtocolRangeEnd 32767
148b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
149b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
150b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long ControlCloseStatus {
151b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define controlCloseCanProceed 0
152b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define controlCloseWaitForEvents 1
153b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
154b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
155b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long RedirectionWarningType {
156b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RedirectionWarningTypeDefault 0
157b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RedirectionWarningTypeUnsigned 1
158b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RedirectionWarningTypeUnknown 2
159b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RedirectionWarningTypeUser 3
160b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RedirectionWarningTypeThirdPartySigned 4
161b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RedirectionWarningTypeTrusted 5
162b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
163b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
164b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long RemoteSessionActionType {
165b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RemoteSessionActionCharms 0
166b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RemoteSessionActionAppbar 1
167b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RemoteSessionActionSnap 2
168b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RemoteSessionActionStartScreen 3
169b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RemoteSessionActionAppSwitch 4
170b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
171b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
172b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long ClientSpec {
173b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define FullMode 0
174b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define ThinClientMode 1
175b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define SmallCacheMode 2
176b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
177b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
178b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long ControlReconnectStatus {
179b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define controlReconnectStarted 0
180b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define controlReconnectBlocked 1
181b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
182b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
183b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long RemoteActionType {
184b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RemoteActionCharms 0
185b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RemoteActionAppbar 1
186b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RemoteActionSnap 2
187b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RemoteActionStartScreen 3
188b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define RemoteActionAppSwitch 4
189b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
190b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
191b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long SnapshotEncodingType {
192b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define SnapshotEncodingDataUri 0
193b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
194b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
195b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)value long SnapshotFormatType {
196b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define SnapshotFormatPng 0
197b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define SnapshotFormatJpeg 1
198b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define SnapshotFormatBmp 2
199b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
200b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
201b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)//
202b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Interfaces
203b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)//
204b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
205b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsTscAxEvents : IDispatch {
206b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnConnecting();
207b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnConnected();
208b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnLoginComplete();
209b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnDisconnected(long discReason);
210b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnEnterFullScreenMode();
211b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnLeaveFullScreenMode();
212b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnChannelReceivedData(BSTR chanName, BSTR data);
213b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnRequestGoFullScreen();
214b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnRequestLeaveFullScreen();
215b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnFatalError(long errorCode);
216b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnWarning(long warningCode);
217b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnRemoteDesktopSizeChange(long width, long height);
218b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnIdleTimeoutNotification();
219b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnRequestContainerMinimize();
220b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnConfirmClose([out] VARIANT_BOOL* pfAllowClose);
221b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnReceivedTSPublicKey(BSTR publicKey, [out] VARIANT_BOOL* pfContinueLogon);
222b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnAutoReconnecting(long disconnectReason, long attemptCount, [out] AutoReconnectContinueState* pArcContinueStatus);
223b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnAuthenticationWarningDisplayed();
224b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnAuthenticationWarningDismissed();
225b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnRemoteProgramResult(BSTR bstrRemoteProgram, RemoteProgramResult lError, VARIANT_BOOL vbIsExecutable);
226b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnRemoteProgramDisplayed(VARIANT_BOOL vbDisplayed, ULONG uDisplayInformation);
227b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnRemoteWindowDisplayed(VARIANT_BOOL vbDisplayed, LPVOID hwnd, RemoteWindowDisplayedAttribute windowAttribute);
228b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnLogonError(long lError);
229b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnFocusReleased(int iDirection);
230b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnUserNameAcquired(BSTR bstrUserName);
231b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnMouseInputModeChanged(VARIANT_BOOL fMouseModeRelative);
232b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnServiceMessageReceived(BSTR serviceMessage);
233b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnConnectionBarPullDown();
234b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnNetworkStatusChanged(ULONG qualityLevel, long bandwidth, long rtt);
235b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnDevicesButtonPressed();
236b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnAutoReconnected();
237b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnAutoReconnecting2(long disconnectReason, VARIANT_BOOL networkAvailable, long attemptCount, long maxAttemptCount);
238b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
239b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
240b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsTscSecuredSettings : IDispatch {
241b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)    HRESULT put_StartProgram(BSTR pStartProgram);
242b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)    HRESULT get_StartProgram([out] BSTR* pStartProgram);
243b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)    HRESULT put_WorkDir(BSTR pWorkDir);
244b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)    HRESULT get_WorkDir([out] BSTR* pWorkDir);
245b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)    HRESULT put_FullScreen(long pfFullScreen);
246b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)    HRESULT get_FullScreen([out] long* pfFullScreen);
247b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
248b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
249b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsTscAdvancedSettings : IDispatch {
250b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_Compress(long pcompress);
251b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Compress([out] long* pcompress);
252b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BitmapPeristence(long pbitmapPeristence);
253b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BitmapPeristence([out] long* pbitmapPeristence);
254b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_allowBackgroundInput(long pallowBackgroundInput);
255b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_allowBackgroundInput([out] long* pallowBackgroundInput);
256b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_KeyBoardLayoutStr(BSTR _arg1);
257b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PluginDlls(BSTR _arg1);
258b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_IconFile(BSTR _arg1);
259b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_IconIndex(long _arg1);
260b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ContainerHandledFullScreen(long pContainerHandledFullScreen);
261b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ContainerHandledFullScreen([out] long* pContainerHandledFullScreen);
262b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DisableRdpdr(long pDisableRdpdr);
263b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DisableRdpdr([out] long* pDisableRdpdr);
264b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
265b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
266b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsTscDebug : IDispatch {
267b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HatchBitmapPDU(long phatchBitmapPDU);
268b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HatchBitmapPDU([out] long* phatchBitmapPDU);
269b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HatchSSBOrder(long phatchSSBOrder);
270b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HatchSSBOrder([out] long* phatchSSBOrder);
271b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HatchMembltOrder(long phatchMembltOrder);
272b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HatchMembltOrder([out] long* phatchMembltOrder);
273b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HatchIndexPDU(long phatchIndexPDU);
274b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HatchIndexPDU([out] long* phatchIndexPDU);
275b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_LabelMemblt(long plabelMemblt);
276b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_LabelMemblt([out] long* plabelMemblt);
277b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BitmapCacheMonitor(long pbitmapCacheMonitor);
278b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BitmapCacheMonitor([out] long* pbitmapCacheMonitor);
279b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_MallocFailuresPercent(long pmallocFailuresPercent);
280b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_MallocFailuresPercent([out] long* pmallocFailuresPercent);
281b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_MallocHugeFailuresPercent(long pmallocHugeFailuresPercent);
282b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_MallocHugeFailuresPercent([out] long* pmallocHugeFailuresPercent);
283b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_NetThroughput(long NetThroughput);
284b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_NetThroughput([out] long* NetThroughput);
285b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_CLXCmdLine(BSTR pCLXCmdLine);
286b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_CLXCmdLine([out] BSTR* pCLXCmdLine);
287b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_CLXDll(BSTR pCLXDll);
288b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_CLXDll([out] BSTR* pCLXDll);
289b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RemoteProgramsHatchVisibleRegion(long pcbHatch);
290b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RemoteProgramsHatchVisibleRegion([out] long* pcbHatch);
291b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RemoteProgramsHatchVisibleNoDataRegion(long pcbHatch);
292b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RemoteProgramsHatchVisibleNoDataRegion([out] long* pcbHatch);
293b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RemoteProgramsHatchNonVisibleRegion(long pcbHatch);
294b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RemoteProgramsHatchNonVisibleRegion([out] long* pcbHatch);
295b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RemoteProgramsHatchWindow(long pcbHatch);
296b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RemoteProgramsHatchWindow([out] long* pcbHatch);
297b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RemoteProgramsStayConnectOnBadCaps(long pcbStayConnected);
298b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RemoteProgramsStayConnectOnBadCaps([out] long* pcbStayConnected);
299b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ControlType([out] UINT* pControlType);
300b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DecodeGfx(VARIANT_BOOL _arg1);
301b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
302b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
303b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsTscAx : IDispatch
304b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles){
305b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_Server(BSTR pServer);
306b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Server([out] BSTR* pServer);
307b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_Domain(BSTR pDomain);
308b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Domain([out] BSTR* pDomain);
309b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_UserName(BSTR pUserName);
310b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_UserName([out] BSTR* pUserName);
311b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DisconnectedText(BSTR pDisconnectedText);
312b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DisconnectedText([out] BSTR* pDisconnectedText);
313b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ConnectingText(BSTR pConnectingText);
314b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ConnectingText([out] BSTR* pConnectingText);
315b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Connected([out] short* pIsConnected);
316b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DesktopWidth(long pVal);
317b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DesktopWidth([out] long* pVal);
318b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DesktopHeight(long pVal);
319b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DesktopHeight([out] long* pVal);
320b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_StartConnected(long pfStartConnected);
321b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_StartConnected([out] long* pfStartConnected);
322b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HorizontalScrollBarVisible([out] long* pfHScrollVisible);
323b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_VerticalScrollBarVisible([out] long* pfVScrollVisible);
324b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_FullScreenTitle(BSTR _arg1);
325b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_CipherStrength([out] long* pCipherStrength);
326b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Version([out] BSTR* pVersion);
327b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_SecuredSettingsEnabled([out] long* pSecuredSettingsEnabled);
328b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_SecuredSettings([out] IMsTscSecuredSettings** ppSecuredSettings);
329b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AdvancedSettings([out] IMsTscAdvancedSettings** ppAdvSettings);
330b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Debugger([out] IMsTscDebug** ppDebugger);
331b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT Connect();
332b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT Disconnect();
333b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT CreateVirtualChannels(BSTR newVal);
334b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT SendOnVirtualChannel(BSTR chanName, BSTR ChanData);
335b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
336b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
337b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientAdvancedSettings : IMsTscAdvancedSettings {
338b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_SmoothScroll(long psmoothScroll);
339b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_SmoothScroll([out] long* psmoothScroll);
340b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_AcceleratorPassthrough(long pacceleratorPassthrough);
341b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AcceleratorPassthrough([out] long* pacceleratorPassthrough);
342b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ShadowBitmap(long pshadowBitmap);
343b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ShadowBitmap([out] long* pshadowBitmap);
344b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_TransportType(long ptransportType);
345b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_TransportType([out] long* ptransportType);
346b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_SasSequence(long psasSequence);
347b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_SasSequence([out] long* psasSequence);
348b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_EncryptionEnabled(long pencryptionEnabled);
349b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_EncryptionEnabled([out] long* pencryptionEnabled);
350b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DedicatedTerminal(long pdedicatedTerminal);
351b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DedicatedTerminal([out] long* pdedicatedTerminal);
352b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RDPPort(long prdpPort);
353b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RDPPort([out] long* prdpPort);
354b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_EnableMouse(long penableMouse);
355b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_EnableMouse([out] long* penableMouse);
356b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DisableCtrlAltDel(long pdisableCtrlAltDel);
357b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DisableCtrlAltDel([out] long* pdisableCtrlAltDel);
358b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_EnableWindowsKey(long penableWindowsKey);
359b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_EnableWindowsKey([out] long* penableWindowsKey);
360b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DoubleClickDetect(long pdoubleClickDetect);
361b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DoubleClickDetect([out] long* pdoubleClickDetect);
362b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_MaximizeShell(long pmaximizeShell);
363b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_MaximizeShell([out] long* pmaximizeShell);
364b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HotKeyFullScreen(long photKeyFullScreen);
365b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HotKeyFullScreen([out] long* photKeyFullScreen);
366b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HotKeyCtrlEsc(long photKeyCtrlEsc);
367b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HotKeyCtrlEsc([out] long* photKeyCtrlEsc);
368b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HotKeyAltEsc(long photKeyAltEsc);
369b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HotKeyAltEsc([out] long* photKeyAltEsc);
370b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HotKeyAltTab(long photKeyAltTab);
371b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HotKeyAltTab([out] long* photKeyAltTab);
372b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HotKeyAltShiftTab(long photKeyAltShiftTab);
373b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HotKeyAltShiftTab([out] long* photKeyAltShiftTab);
374b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HotKeyAltSpace(long photKeyAltSpace);
375b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HotKeyAltSpace([out] long* photKeyAltSpace);
376b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HotKeyCtrlAltDel(long photKeyCtrlAltDel);
377b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HotKeyCtrlAltDel([out] long* photKeyCtrlAltDel);
378b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_orderDrawThreshold(long porderDrawThreshold);
379b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_orderDrawThreshold([out] long* porderDrawThreshold);
380b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BitmapCacheSize(long pbitmapCacheSize);
381b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BitmapCacheSize([out] long* pbitmapCacheSize);
382b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BitmapVirtualCacheSize(long pbitmapVirtualCacheSize);
383b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BitmapVirtualCacheSize([out] long* pbitmapVirtualCacheSize);
384b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ScaleBitmapCachesByBPP(long pbScale);
385b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ScaleBitmapCachesByBPP([out] long* pbScale);
386b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_NumBitmapCaches(long pnumBitmapCaches);
387b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_NumBitmapCaches([out] long* pnumBitmapCaches);
388b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_CachePersistenceActive(long pcachePersistenceActive);
389b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_CachePersistenceActive([out] long* pcachePersistenceActive);
390b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PersistCacheDirectory(BSTR _arg1);
391b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_brushSupportLevel(long pbrushSupportLevel);
392b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_brushSupportLevel([out] long* pbrushSupportLevel);
393b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_minInputSendInterval(long pminInputSendInterval);
394b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_minInputSendInterval([out] long* pminInputSendInterval);
395b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_InputEventsAtOnce(long pinputEventsAtOnce);
396b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_InputEventsAtOnce([out] long* pinputEventsAtOnce);
397b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_maxEventCount(long pmaxEventCount);
398b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_maxEventCount([out] long* pmaxEventCount);
399b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_keepAliveInterval(long pkeepAliveInterval);
400b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_keepAliveInterval([out] long* pkeepAliveInterval);
401b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_shutdownTimeout(long pshutdownTimeout);
402b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_shutdownTimeout([out] long* pshutdownTimeout);
403b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_overallConnectionTimeout(long poverallConnectionTimeout);
404b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_overallConnectionTimeout([out] long* poverallConnectionTimeout);
405b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_singleConnectionTimeout(long psingleConnectionTimeout);
406b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_singleConnectionTimeout([out] long* psingleConnectionTimeout);
407b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_KeyboardType(long pkeyboardType);
408b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_KeyboardType([out] long* pkeyboardType);
409b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_KeyboardSubType(long pkeyboardSubType);
410b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_KeyboardSubType([out] long* pkeyboardSubType);
411b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_KeyboardFunctionKey(long pkeyboardFunctionKey);
412b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_KeyboardFunctionKey([out] long* pkeyboardFunctionKey);
413b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_WinceFixedPalette(long pwinceFixedPalette);
414b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_WinceFixedPalette([out] long* pwinceFixedPalette);
415b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ConnectToServerConsole(VARIANT_BOOL pConnectToConsole);
416b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ConnectToServerConsole([out] VARIANT_BOOL* pConnectToConsole);
417b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BitmapPersistence(long pbitmapPersistence);
418b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BitmapPersistence([out] long* pbitmapPersistence);
419b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_MinutesToIdleTimeout(long pminutesToIdleTimeout);
420b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_MinutesToIdleTimeout([out] long* pminutesToIdleTimeout);
421b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_SmartSizing(VARIANT_BOOL pfSmartSizing);
422b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_SmartSizing([out] VARIANT_BOOL* pfSmartSizing);
423b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RdpdrLocalPrintingDocName(BSTR pLocalPrintingDocName);
424b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RdpdrLocalPrintingDocName([out] BSTR* pLocalPrintingDocName);
425b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RdpdrClipCleanTempDirString(BSTR clipCleanTempDirString);
426b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RdpdrClipCleanTempDirString([out] BSTR* clipCleanTempDirString);
427b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RdpdrClipPasteInfoString(BSTR clipPasteInfoString);
428b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RdpdrClipPasteInfoString([out] BSTR* clipPasteInfoString);
429b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ClearTextPassword(BSTR _arg1);
430b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DisplayConnectionBar(VARIANT_BOOL pDisplayConnectionBar);
431b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DisplayConnectionBar([out] VARIANT_BOOL* pDisplayConnectionBar);
432b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PinConnectionBar(VARIANT_BOOL pPinConnectionBar);
433b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PinConnectionBar([out] VARIANT_BOOL* pPinConnectionBar);
434b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GrabFocusOnConnect(VARIANT_BOOL pfGrabFocusOnConnect);
435b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GrabFocusOnConnect([out] VARIANT_BOOL* pfGrabFocusOnConnect);
436b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_LoadBalanceInfo(BSTR pLBInfo);
437b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_LoadBalanceInfo([out] BSTR* pLBInfo);
438b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectDrives(VARIANT_BOOL pRedirectDrives);
439b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectDrives([out] VARIANT_BOOL* pRedirectDrives);
440b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectPrinters(VARIANT_BOOL pRedirectPrinters);
441b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectPrinters([out] VARIANT_BOOL* pRedirectPrinters);
442b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectPorts(VARIANT_BOOL pRedirectPorts);
443b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectPorts([out] VARIANT_BOOL* pRedirectPorts);
444b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectSmartCards(VARIANT_BOOL pRedirectSmartCards);
445b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectSmartCards([out] VARIANT_BOOL* pRedirectSmartCards);
446b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BitmapVirtualCache16BppSize(long pBitmapVirtualCache16BppSize);
447b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BitmapVirtualCache16BppSize([out] long* pBitmapVirtualCache16BppSize);
448b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BitmapVirtualCache24BppSize(long pBitmapVirtualCache24BppSize);
449b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BitmapVirtualCache24BppSize([out] long* pBitmapVirtualCache24BppSize);
450b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PerformanceFlags(long pDisableList);
451b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PerformanceFlags([out] long* pDisableList);
452b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ConnectWithEndpoint(VARIANT* _arg1);
453b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_NotifyTSPublicKey(VARIANT_BOOL pfNotify);
454b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_NotifyTSPublicKey([out] VARIANT_BOOL* pfNotify);
455b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
456b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
457b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientSecuredSettings : IMsTscSecuredSettings {
458b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_KeyboardHookMode(long pkeyboardHookMode);
459b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_KeyboardHookMode([out] long* pkeyboardHookMode);
460b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_AudioRedirectionMode(long pAudioRedirectionMode);
461b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AudioRedirectionMode([out] long* pAudioRedirectionMode);
462b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
463b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
464b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClient : IMsTscAx {
465b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ColorDepth(long pcolorDepth);
466b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ColorDepth([out] long* pcolorDepth);
467b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AdvancedSettings2([out] IMsRdpClientAdvancedSettings** ppAdvSettings);
468b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_SecuredSettings2([out] IMsRdpClientSecuredSettings** ppSecuredSettings);
469b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ExtendedDisconnectReason([out] ExtendedDisconnectReasonCode* pExtendedDisconnectReason);
470b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_FullScreen(VARIANT_BOOL pfFullScreen);
471b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_FullScreen([out] VARIANT_BOOL* pfFullScreen);
472b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT SetVirtualChannelOptions(BSTR chanName, long chanOptions);
473b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT GetVirtualChannelOptions(BSTR chanName, [out] long* pChanOptions);
474b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT RequestClose([out] ControlCloseStatus* pCloseStatus);
475b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
476b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
477b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsTscNonScriptable : IUnknown {
478b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ClearTextPassword(BSTR _arg1);
479b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PortablePassword(BSTR pPortablePass);
480b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PortablePassword([out] BSTR* pPortablePass);
481b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PortableSalt(BSTR pPortableSalt);
482b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PortableSalt([out] BSTR* pPortableSalt);
483b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BinaryPassword(BSTR pBinaryPassword);
484b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BinaryPassword([out] BSTR* pBinaryPassword);
485b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BinarySalt(BSTR pSalt);
486b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BinarySalt([out] BSTR* pSalt);
487b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT ResetPassword();
488b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
489b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
490b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientNonScriptable : IMsTscNonScriptable {
491b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT NotifyRedirectDeviceChange(UINT_PTR wParam, LONG_PTR lParam);
492b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT SendKeys(long numKeys, VARIANT_BOOL* pbArrayKeyUp, long* plKeyData);
493b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
494b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
495b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientAdvancedSettings2 : IMsRdpClientAdvancedSettings {
496b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_CanAutoReconnect([out] VARIANT_BOOL* pfCanAutoReconnect);
497b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_EnableAutoReconnect(VARIANT_BOOL pfEnableAutoReconnect);
498b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_EnableAutoReconnect([out] VARIANT_BOOL* pfEnableAutoReconnect);
499b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_MaxReconnectAttempts(long pMaxReconnectAttempts);
500b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_MaxReconnectAttempts([out] long* pMaxReconnectAttempts);
501b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
502b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
503b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClient2 : IMsRdpClient {
504b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AdvancedSettings3([out] IMsRdpClientAdvancedSettings2** ppAdvSettings);
505b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ConnectedStatusText(BSTR pConnectedStatusText);
506b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ConnectedStatusText([out] BSTR* pConnectedStatusText);
507b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
508b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
509b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientAdvancedSettings3 : IMsRdpClientAdvancedSettings2 {
510b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ConnectionBarShowMinimizeButton(VARIANT_BOOL pfShowMinimize);
511b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ConnectionBarShowMinimizeButton([out] VARIANT_BOOL* pfShowMinimize);
512b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ConnectionBarShowRestoreButton(VARIANT_BOOL pfShowRestore);
513b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ConnectionBarShowRestoreButton([out] VARIANT_BOOL* pfShowRestore);
514b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
515b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
516b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClient3 : IMsRdpClient2 {
517b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AdvancedSettings4([out] IMsRdpClientAdvancedSettings3** ppAdvSettings);
518b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
519b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
520b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientAdvancedSettings4 : IMsRdpClientAdvancedSettings3 {
521b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_AuthenticationLevel(UINT puiAuthLevel);
522b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AuthenticationLevel([out] UINT* puiAuthLevel);
523b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
524b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
525b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClient4 : IMsRdpClient3 {
526b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AdvancedSettings5([out] IMsRdpClientAdvancedSettings4** ppAdvSettings);
527b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
528b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
529b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientNonScriptable2 : IMsRdpClientNonScriptable {
530b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_UIParentWindowHandle(LPVOID phwndUIParentWindowHandle);
531b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_UIParentWindowHandle([out] LPVOID* phwndUIParentWindowHandle);
532b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
533b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
534b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientTransportSettings : IDispatch {
535b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayHostname(BSTR pProxyHostname);
536b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayHostname([out] BSTR* pProxyHostname);
537b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayUsageMethod(ULONG pulProxyUsageMethod);
538b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayUsageMethod([out] ULONG* pulProxyUsageMethod);
539b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayProfileUsageMethod(ULONG pulProxyProfileUsageMethod);
540b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayProfileUsageMethod([out] ULONG* pulProxyProfileUsageMethod);
541b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayCredsSource(ULONG pulProxyCredsSource);
542b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayCredsSource([out] ULONG* pulProxyCredsSource);
543b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayUserSelectedCredsSource(ULONG pulProxyCredsSource);
544b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayUserSelectedCredsSource([out] ULONG* pulProxyCredsSource);
545b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayIsSupported([out] long* pfProxyIsSupported);
546b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayDefaultUsageMethod([out] ULONG* pulProxyDefaultUsageMethod);
547b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
548b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
549b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientAdvancedSettings5 : IMsRdpClientAdvancedSettings4 {
550b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectClipboard(VARIANT_BOOL pfRedirectClipboard);
551b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectClipboard([out] VARIANT_BOOL* pfRedirectClipboard);
552b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_AudioRedirectionMode(UINT puiAudioRedirectionMode);
553b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AudioRedirectionMode([out] UINT* puiAudioRedirectionMode);
554b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ConnectionBarShowPinButton(VARIANT_BOOL pfShowPin);
555b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ConnectionBarShowPinButton([out] VARIANT_BOOL* pfShowPin);
556b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PublicMode(VARIANT_BOOL pfPublicMode);
557b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PublicMode([out] VARIANT_BOOL* pfPublicMode);
558b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectDevices(VARIANT_BOOL pfRedirectPnPDevices);
559b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectDevices([out] VARIANT_BOOL* pfRedirectPnPDevices);
560b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectPOSDevices(VARIANT_BOOL pfRedirectPOSDevices);
561b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectPOSDevices([out] VARIANT_BOOL* pfRedirectPOSDevices);
562b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BitmapVirtualCache32BppSize(long pBitmapVirtualCache32BppSize);
563b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BitmapVirtualCache32BppSize([out] long* pBitmapVirtualCache32BppSize);
564b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
565b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
566b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface ITSRemoteProgram : IDispatch {
567b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RemoteProgramMode(VARIANT_BOOL pvboolRemoteProgramMode);
568b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RemoteProgramMode([out] VARIANT_BOOL* pvboolRemoteProgramMode);
569b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT ServerStartProgram(BSTR bstrExecutablePath, BSTR bstrFilePath, BSTR bstrWorkingDirectory, VARIANT_BOOL vbExpandEnvVarInWorkingDirectoryOnServer, BSTR bstrArguments, VARIANT_BOOL vbExpandEnvVarInArgumentsOnServer);
570b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
571b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
572b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientShell : IDispatch {
573b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT Launch();
574b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RdpFileContents(BSTR pszRdpFile);
575b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RdpFileContents([out] BSTR* pszRdpFile);
576b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT SetRdpProperty(BSTR szProperty, VARIANT Value);
577b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT GetRdpProperty(BSTR szProperty, [out] VARIANT* pValue);
578b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_IsRemoteProgramClientInstalled([out] VARIANT_BOOL* pbClientInstalled);
579b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PublicMode(VARIANT_BOOL pfPublicMode);
580b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PublicMode([out] VARIANT_BOOL* pfPublicMode);
581b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT ShowTrustedSitesManagementDialog();
582b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
583b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
584b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClient5 : IMsRdpClient4 {
585b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_TransportSettings([out] IMsRdpClientTransportSettings** ppXportSet);
586b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AdvancedSettings6([out] IMsRdpClientAdvancedSettings5** ppAdvSettings);
587b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT GetErrorDescription(UINT disconnectReason, UINT ExtendedDisconnectReason, [out] BSTR* pBstrErrorMsg);
588b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RemoteProgram([out] ITSRemoteProgram** ppRemoteProgram);
589b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_MsRdpClientShell([out] IMsRdpClientShell** ppLauncher);
590b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
591b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
592b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpDevice : IUnknown {
593b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DeviceInstanceId([out] BSTR* pDevInstanceId);
594b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_FriendlyName([out] BSTR* pFriendlyName);
595b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DeviceDescription([out] BSTR* pDeviceDescription);
596b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectionState(VARIANT_BOOL pvboolRedirState);
597b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectionState([out] VARIANT_BOOL* pvboolRedirState);
598b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
599b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
600b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpDeviceCollection : IUnknown {
601b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT RescanDevices(VARIANT_BOOL vboolDynRedir);
602b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DeviceByIndex(ULONG index, [out] IMsRdpDevice** ppDevice);
603b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DeviceById(BSTR devInstanceId, [out] IMsRdpDevice** ppDevice);
604b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DeviceCount([out] ULONG* pDeviceCount);
605b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
606b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
607b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpDrive : IUnknown {
608b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Name([out] BSTR* pName);
609b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectionState(VARIANT_BOOL pvboolRedirState);
610b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectionState([out] VARIANT_BOOL* pvboolRedirState);
611b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
612b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
613b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpDriveCollection : IUnknown {
614b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT RescanDrives(VARIANT_BOOL vboolDynRedir);
615b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DriveByIndex(ULONG index, [out] IMsRdpDrive** ppDevice);
616b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DriveCount([out] ULONG* pDriveCount);
617b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
618b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
619b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientNonScriptable3 : IMsRdpClientNonScriptable2 {
620b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ShowRedirectionWarningDialog(VARIANT_BOOL pfShowRdrDlg);
621b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ShowRedirectionWarningDialog([out] VARIANT_BOOL* pfShowRdrDlg);
622b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PromptForCredentials(VARIANT_BOOL pfPrompt);
623b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PromptForCredentials([out] VARIANT_BOOL* pfPrompt);
624b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_NegotiateSecurityLayer(VARIANT_BOOL pfNegotiate);
625b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_NegotiateSecurityLayer([out] VARIANT_BOOL* pfNegotiate);
626b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_EnableCredSspSupport(VARIANT_BOOL pfEnableSupport);
627b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_EnableCredSspSupport([out] VARIANT_BOOL* pfEnableSupport);
628b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectDynamicDrives(VARIANT_BOOL pfRedirectDynamicDrives);
629b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectDynamicDrives([out] VARIANT_BOOL* pfRedirectDynamicDrives);
630b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectDynamicDevices(VARIANT_BOOL pfRedirectDynamicDevices);
631b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectDynamicDevices([out] VARIANT_BOOL* pfRedirectDynamicDevices);
632b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DeviceCollection([out] IMsRdpDeviceCollection** ppDeviceCollection);
633b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DriveCollection([out] IMsRdpDriveCollection** ppDeviceCollection);
634b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_WarnAboutSendingCredentials(VARIANT_BOOL pfWarn);
635b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_WarnAboutSendingCredentials([out] VARIANT_BOOL* pfWarn);
636b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_WarnAboutClipboardRedirection(VARIANT_BOOL pfWarn);
637b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_WarnAboutClipboardRedirection([out] VARIANT_BOOL* pfWarn);
638b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ConnectionBarText(BSTR pConnectionBarText);
639b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ConnectionBarText([out] BSTR* pConnectionBarText);
640b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
641b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
642b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientAdvancedSettings6 : IMsRdpClientAdvancedSettings5 {
643b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RelativeMouseMode(VARIANT_BOOL pfRelativeMouseMode);
644b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RelativeMouseMode([out] VARIANT_BOOL* pfRelativeMouseMode);
645b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AuthenticationServiceClass([out] BSTR* pbstrAuthServiceClass);
646b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_AuthenticationServiceClass(BSTR pbstrAuthServiceClass);
647b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PCB([out] BSTR* bstrPCB);
648b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PCB(BSTR bstrPCB);
649b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HotKeyFocusReleaseLeft(long HotKeyFocusReleaseLeft);
650b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HotKeyFocusReleaseLeft([out] long* HotKeyFocusReleaseLeft);
651b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_HotKeyFocusReleaseRight(long HotKeyFocusReleaseRight);
652b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_HotKeyFocusReleaseRight([out] long* HotKeyFocusReleaseRight);
653b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_EnableCredSspSupport(VARIANT_BOOL pfEnableSupport);
654b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_EnableCredSspSupport([out] VARIANT_BOOL* pfEnableSupport);
655b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AuthenticationType([out] UINT* puiAuthType);
656b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ConnectToAdministerServer(VARIANT_BOOL pConnectToAdministerServer);
657b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ConnectToAdministerServer([out] VARIANT_BOOL* pConnectToAdministerServer);
658b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
659b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
660b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientTransportSettings2 : IMsRdpClientTransportSettings {
661b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayCredSharing(ULONG pulProxyCredSharing);
662b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayCredSharing([out] ULONG* pulProxyCredSharing);
663b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayPreAuthRequirement(ULONG pulProxyPreAuthRequirement);
664b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayPreAuthRequirement([out] ULONG* pulProxyPreAuthRequirement);
665b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayPreAuthServerAddr(BSTR pbstrProxyPreAuthServerAddr);
666b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayPreAuthServerAddr([out] BSTR* pbstrProxyPreAuthServerAddr);
667b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewaySupportUrl(BSTR pbstrProxySupportUrl);
668b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewaySupportUrl([out] BSTR* pbstrProxySupportUrl);
669b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayEncryptedOtpCookie(BSTR pbstrEncryptedOtpCookie);
670b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayEncryptedOtpCookie([out] BSTR* pbstrEncryptedOtpCookie);
671b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayEncryptedOtpCookieSize(ULONG pulEncryptedOtpCookieSize);
672b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayEncryptedOtpCookieSize([out] ULONG* pulEncryptedOtpCookieSize);
673b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayUsername(BSTR pProxyUsername);
674b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayUsername([out] BSTR* pProxyUsername);
675b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayDomain(BSTR pProxyDomain);
676b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayDomain([out] BSTR* pProxyDomain);
677b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayPassword(BSTR _arg1);
678b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
679b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
680b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClient6 : IMsRdpClient5 {
681b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AdvancedSettings7([out] IMsRdpClientAdvancedSettings6** ppAdvSettings);
682b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_TransportSettings2([out] IMsRdpClientTransportSettings2** ppXportSet2);
683b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
684b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
685b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientNonScriptable4 : IMsRdpClientNonScriptable3 {
686b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectionWarningType(RedirectionWarningType pWrnType);
687b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectionWarningType([out] RedirectionWarningType* pWrnType);
688b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_MarkRdpSettingsSecure(VARIANT_BOOL pfRdpSecure);
689b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_MarkRdpSettingsSecure([out] VARIANT_BOOL* pfRdpSecure);
690b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PublisherCertificateChain(VARIANT* pVarCert);
691b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PublisherCertificateChain([out] VARIANT* pVarCert);
692b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_WarnAboutPrinterRedirection(VARIANT_BOOL pfWarn);
693b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_WarnAboutPrinterRedirection([out] VARIANT_BOOL* pfWarn);
694b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_AllowCredentialSaving(VARIANT_BOOL pfAllowSave);
695b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AllowCredentialSaving([out] VARIANT_BOOL* pfAllowSave);
696b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PromptForCredsOnClient(VARIANT_BOOL pfPromptForCredsOnClient);
697b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PromptForCredsOnClient([out] VARIANT_BOOL* pfPromptForCredsOnClient);
698b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_LaunchedViaClientShellInterface(VARIANT_BOOL pfLaunchedViaClientShellInterface);
699b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_LaunchedViaClientShellInterface([out] VARIANT_BOOL* pfLaunchedViaClientShellInterface);
700b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_TrustedZoneSite(VARIANT_BOOL pfIsTrustedZone);
701b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_TrustedZoneSite([out] VARIANT_BOOL* pfIsTrustedZone);
702b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
703b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
704b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientAdvancedSettings7 : IMsRdpClientAdvancedSettings6 {
705b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_AudioCaptureRedirectionMode(VARIANT_BOOL pfRedir);
706b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AudioCaptureRedirectionMode([out] VARIANT_BOOL* pfRedir);
707b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_VideoPlaybackMode(UINT pVideoPlaybackMode);
708b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_VideoPlaybackMode([out] UINT* pVideoPlaybackMode);
709b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_EnableSuperPan(VARIANT_BOOL pfEnableSuperPan);
710b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_EnableSuperPan([out] VARIANT_BOOL* pfEnableSuperPan);
711b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_SuperPanAccelerationFactor(ULONG puAccelFactor);
712b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_SuperPanAccelerationFactor([out] ULONG* puAccelFactor);
713b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_NegotiateSecurityLayer(VARIANT_BOOL pfNegotiate);
714b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_NegotiateSecurityLayer([out] VARIANT_BOOL* pfNegotiate);
715b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_AudioQualityMode(UINT pAudioQualityMode);
716b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AudioQualityMode([out] UINT* pAudioQualityMode);
717b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RedirectDirectX(VARIANT_BOOL pfRedirectDirectX);
718b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RedirectDirectX([out] VARIANT_BOOL* pfRedirectDirectX);
719b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_NetworkConnectionType(UINT pConnectionType);
720b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_NetworkConnectionType([out] UINT* pConnectionType);
721b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
722b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
723b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientTransportSettings3 : IMsRdpClientTransportSettings2 {
724b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayCredSourceCookie(ULONG pulProxyCredSourceCookie);
725b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayCredSourceCookie([out] ULONG* pulProxyCredSourceCookie);
726b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayAuthCookieServerAddr(BSTR pbstrProxyAuthCookieServerAddr);
727b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayAuthCookieServerAddr([out] BSTR* pbstrProxyAuthCookieServerAddr);
728b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayEncryptedAuthCookie(BSTR pbstrEncryptedAuthCookie);
729b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayEncryptedAuthCookie([out] BSTR* pbstrEncryptedAuthCookie);
730b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayEncryptedAuthCookieSize(ULONG pulEncryptedAuthCookieSize);
731b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayEncryptedAuthCookieSize([out] ULONG* pulEncryptedAuthCookieSize);
732b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_GatewayAuthLoginPage(BSTR pbstrProxyAuthLoginPage);
733b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_GatewayAuthLoginPage([out] BSTR* pbstrProxyAuthLoginPage);
734b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
735b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
736b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientSecuredSettings2 : IMsRdpClientSecuredSettings {
737b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PCB([out] BSTR* bstrPCB);
738b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PCB(BSTR bstrPCB);
739b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
740b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
741b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface ITSRemoteProgram2 : ITSRemoteProgram {
742b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RemoteApplicationName(BSTR _arg1);
743b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RemoteApplicationProgram(BSTR _arg1);
744b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_RemoteApplicationArgs(BSTR _arg1);
745b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
746b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
747b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClient7 : IMsRdpClient6 {
748b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AdvancedSettings8([out] IMsRdpClientAdvancedSettings7** ppAdvSettings);
749b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_TransportSettings3([out] IMsRdpClientTransportSettings3** ppXportSet3);
750b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT GetStatusText(UINT statusCode, [out] BSTR* pBstrStatusText);
751b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_SecuredSettings3([out] IMsRdpClientSecuredSettings2** ppSecuredSettings);
752b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RemoteProgram2([out] ITSRemoteProgram2** ppRemoteProgram);
753b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
754b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
755b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientNonScriptable5 : IMsRdpClientNonScriptable4 {
756b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_UseMultimon(VARIANT_BOOL pfUseMultimon);
757b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_UseMultimon([out] VARIANT_BOOL* pfUseMultimon);
758b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RemoteMonitorCount([out] ULONG* pcRemoteMonitors);
759b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT GetRemoteMonitorsBoundingBox(/*[out]*/ long* pLeft, /*[out]*/ long* pTop, /*[out]*/ long* pRight, /*[out]*/ long* pBottom);
760b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_RemoteMonitorLayoutMatchesLocal([out] VARIANT_BOOL* pfRemoteMatchesLocal);
761b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DisableConnectionBar(VARIANT_BOOL _arg1);
762b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_DisableRemoteAppCapsCheck(VARIANT_BOOL pfDisableRemoteAppCapsCheck);
763b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_DisableRemoteAppCapsCheck([out] VARIANT_BOOL* pfDisableRemoteAppCapsCheck);
764b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_WarnAboutDirectXRedirection(VARIANT_BOOL pfWarn);
765b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_WarnAboutDirectXRedirection([out] VARIANT_BOOL* pfWarn);
766b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_AllowPromptingForCredentials(VARIANT_BOOL pfAllow);
767b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AllowPromptingForCredentials([out] VARIANT_BOOL* pfAllow);
768b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
769b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
770b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpPreferredRedirectionInfo : IUnknown {
771b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_UseRedirectionServerName(VARIANT_BOOL pVal);
772b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_UseRedirectionServerName([out] VARIANT_BOOL* pVal);
773b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
774b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
775b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpExtendedSettings : IUnknown {
776b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_Property(BSTR bstrPropertyName, VARIANT* pValue);
777b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Property(BSTR bstrPropertyName, [out] VARIANT* pValue);
778b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
779b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
780b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClientAdvancedSettings8 : IMsRdpClientAdvancedSettings7 {
781b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_BandwidthDetection(VARIANT_BOOL pfAutodetect);
782b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_BandwidthDetection([out] VARIANT_BOOL* pfAutodetect);
783b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_ClientProtocolSpec(ClientSpec pClientMode);
784b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_ClientProtocolSpec([out] ClientSpec* pClientMode);
785b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
786b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
787b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpClient8 : IMsRdpClient7 {
788b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT SendRemoteAction(RemoteSessionActionType actionType);
789b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_AdvancedSettings9([out] IMsRdpClientAdvancedSettings8** ppAdvSettings);
790b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT Reconnect(ULONG ulWidth, ULONG ulHeight, [out] ControlReconnectStatus* pReconnectStatus);
791b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
792b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
793b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IRemoteDesktopClientEvents : IDispatch {
794b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnConnecting();
795b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnConnected();
796b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnLoginCompleted();
797b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnDisconnected(long disconnectReason, long ExtendedDisconnectReason, BSTR disconnectErrorMessage);
798b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnStatusChanged(long statusCode, BSTR statusMessage);
799b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnAutoReconnecting(long disconnectReason, long ExtendedDisconnectReason, BSTR disconnectErrorMessage, VARIANT_BOOL networkAvailable, long attemptCount, long maxAttemptCount);
800b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnAutoReconnected();
801b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnDialogDisplaying();
802b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnDialogDismissed();
803b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnNetworkStatusChanged(ULONG qualityLevel, long bandwidth, long rtt);
804b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnAdminMessageReceived(BSTR adminMessage);
805b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnKeyCombinationPressed(long keyCombination);
806b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnRemoteDesktopSizeChanged(long width, long height);
807b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT OnTouchPointerCursorMoved(long x, long y);
808b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
809b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
810b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IRemoteDesktopClientSettings : IDispatch {
811b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT ApplySettings(BSTR RdpFileContents);
812b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT RetrieveSettings([out] BSTR* RdpFileContents);
813b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT GetRdpProperty(BSTR propertyName, [out] VARIANT* Value);
814b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT SetRdpProperty(BSTR propertyName, VARIANT Value);
815b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
816b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
817b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IRemoteDesktopClientActions : IDispatch {
818b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT SuspendScreenUpdates();
819b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT ResumeScreenUpdates();
820b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT ExecuteRemoteAction(RemoteActionType remoteAction);
821b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT GetSnapshot(SnapshotEncodingType snapshotEncoding, SnapshotFormatType snapshotFormat, ULONG snapshotWidth, ULONG snapshotHeight, [out] BSTR* snapshotData);
822b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
823b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
824b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IRemoteDesktopClientTouchPointer : IDispatch {
825b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_Enabled(VARIANT_BOOL Enabled);
826b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Enabled([out] VARIANT_BOOL* Enabled);
827b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_EventsEnabled(VARIANT_BOOL EventsEnabled);
828b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_EventsEnabled([out] VARIANT_BOOL* EventsEnabled);
829b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT put_PointerSpeed(ULONG PointerSpeed);
830b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_PointerSpeed([out] ULONG* PointerSpeed);
831b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
832b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
833b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IRemoteDesktopClient : IDispatch {
834b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT Connect();
835b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT Disconnect();
836b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT Reconnect(ULONG width, ULONG height);
837b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Settings([out] IRemoteDesktopClientSettings** Settings);
838b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_Actions([out] IRemoteDesktopClientActions** Actions);
839b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT get_TouchPointer([out] IRemoteDesktopClientTouchPointer** TouchPointer);
840b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT DeleteSavedCredentials(BSTR serverName);
841b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
842b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
843b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)interface IMsRdpSessionManager : IUnknown {
844b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT StartRemoteApplication(SAFEARRAY* psaCreds, SAFEARRAY* psaParams, long lFlags);
845b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  HRESULT GetProcessId([out] ULONG* pulProcessId);
846b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
847b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
848b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)HRESULT DllGetClassObject(REFCLSID rclsid, [iid] REFIID riid, [out] COM_INTERFACE_PTR* ppv);
849