

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 7.00.0493 */
/* at Sun Aug 13 16:46:06 2006
 */
/* Compiler settings for .\mstsclib.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__


#ifndef __mstsclib_h_h__
#define __mstsclib_h_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IMsTscAxEvents_FWD_DEFINED__
#define __IMsTscAxEvents_FWD_DEFINED__
typedef interface IMsTscAxEvents IMsTscAxEvents;
#endif 	/* __IMsTscAxEvents_FWD_DEFINED__ */


#ifndef __IMsTscAx_FWD_DEFINED__
#define __IMsTscAx_FWD_DEFINED__
typedef interface IMsTscAx IMsTscAx;
#endif 	/* __IMsTscAx_FWD_DEFINED__ */


#ifndef __IMsRdpClient_FWD_DEFINED__
#define __IMsRdpClient_FWD_DEFINED__
typedef interface IMsRdpClient IMsRdpClient;
#endif 	/* __IMsRdpClient_FWD_DEFINED__ */


#ifndef __IMsRdpClient2_FWD_DEFINED__
#define __IMsRdpClient2_FWD_DEFINED__
typedef interface IMsRdpClient2 IMsRdpClient2;
#endif 	/* __IMsRdpClient2_FWD_DEFINED__ */


#ifndef __IMsRdpClient3_FWD_DEFINED__
#define __IMsRdpClient3_FWD_DEFINED__
typedef interface IMsRdpClient3 IMsRdpClient3;
#endif 	/* __IMsRdpClient3_FWD_DEFINED__ */


#ifndef __IMsRdpClient4_FWD_DEFINED__
#define __IMsRdpClient4_FWD_DEFINED__
typedef interface IMsRdpClient4 IMsRdpClient4;
#endif 	/* __IMsRdpClient4_FWD_DEFINED__ */


#ifndef __IMsTscNonScriptable_FWD_DEFINED__
#define __IMsTscNonScriptable_FWD_DEFINED__
typedef interface IMsTscNonScriptable IMsTscNonScriptable;
#endif 	/* __IMsTscNonScriptable_FWD_DEFINED__ */


#ifndef __IMsRdpClientNonScriptable_FWD_DEFINED__
#define __IMsRdpClientNonScriptable_FWD_DEFINED__
typedef interface IMsRdpClientNonScriptable IMsRdpClientNonScriptable;
#endif 	/* __IMsRdpClientNonScriptable_FWD_DEFINED__ */


#ifndef __IMsRdpClientNonScriptable2_FWD_DEFINED__
#define __IMsRdpClientNonScriptable2_FWD_DEFINED__
typedef interface IMsRdpClientNonScriptable2 IMsRdpClientNonScriptable2;
#endif 	/* __IMsRdpClientNonScriptable2_FWD_DEFINED__ */


#ifndef __IMsTscAdvancedSettings_FWD_DEFINED__
#define __IMsTscAdvancedSettings_FWD_DEFINED__
typedef interface IMsTscAdvancedSettings IMsTscAdvancedSettings;
#endif 	/* __IMsTscAdvancedSettings_FWD_DEFINED__ */


#ifndef __IMsRdpClientAdvancedSettings_FWD_DEFINED__
#define __IMsRdpClientAdvancedSettings_FWD_DEFINED__
typedef interface IMsRdpClientAdvancedSettings IMsRdpClientAdvancedSettings;
#endif 	/* __IMsRdpClientAdvancedSettings_FWD_DEFINED__ */


#ifndef __IMsRdpClientAdvancedSettings2_FWD_DEFINED__
#define __IMsRdpClientAdvancedSettings2_FWD_DEFINED__
typedef interface IMsRdpClientAdvancedSettings2 IMsRdpClientAdvancedSettings2;
#endif 	/* __IMsRdpClientAdvancedSettings2_FWD_DEFINED__ */


#ifndef __IMsRdpClientAdvancedSettings3_FWD_DEFINED__
#define __IMsRdpClientAdvancedSettings3_FWD_DEFINED__
typedef interface IMsRdpClientAdvancedSettings3 IMsRdpClientAdvancedSettings3;
#endif 	/* __IMsRdpClientAdvancedSettings3_FWD_DEFINED__ */


#ifndef __IMsRdpClientAdvancedSettings4_FWD_DEFINED__
#define __IMsRdpClientAdvancedSettings4_FWD_DEFINED__
typedef interface IMsRdpClientAdvancedSettings4 IMsRdpClientAdvancedSettings4;
#endif 	/* __IMsRdpClientAdvancedSettings4_FWD_DEFINED__ */


#ifndef __IMsTscSecuredSettings_FWD_DEFINED__
#define __IMsTscSecuredSettings_FWD_DEFINED__
typedef interface IMsTscSecuredSettings IMsTscSecuredSettings;
#endif 	/* __IMsTscSecuredSettings_FWD_DEFINED__ */


#ifndef __IMsRdpClientSecuredSettings_FWD_DEFINED__
#define __IMsRdpClientSecuredSettings_FWD_DEFINED__
typedef interface IMsRdpClientSecuredSettings IMsRdpClientSecuredSettings;
#endif 	/* __IMsRdpClientSecuredSettings_FWD_DEFINED__ */


#ifndef __IMsTscDebug_FWD_DEFINED__
#define __IMsTscDebug_FWD_DEFINED__
typedef interface IMsTscDebug IMsTscDebug;
#endif 	/* __IMsTscDebug_FWD_DEFINED__ */


#ifndef __MsTscAx_FWD_DEFINED__
#define __MsTscAx_FWD_DEFINED__

#ifdef __cplusplus
typedef class MsTscAx MsTscAx;
#else
typedef struct MsTscAx MsTscAx;
#endif /* __cplusplus */

#endif 	/* __MsTscAx_FWD_DEFINED__ */


#ifndef __MsRdpClient_FWD_DEFINED__
#define __MsRdpClient_FWD_DEFINED__

#ifdef __cplusplus
typedef class MsRdpClient MsRdpClient;
#else
typedef struct MsRdpClient MsRdpClient;
#endif /* __cplusplus */

#endif 	/* __MsRdpClient_FWD_DEFINED__ */


#ifndef __MsRdpClient2_FWD_DEFINED__
#define __MsRdpClient2_FWD_DEFINED__

#ifdef __cplusplus
typedef class MsRdpClient2 MsRdpClient2;
#else
typedef struct MsRdpClient2 MsRdpClient2;
#endif /* __cplusplus */

#endif 	/* __MsRdpClient2_FWD_DEFINED__ */


#ifndef __MsRdpClient3_FWD_DEFINED__
#define __MsRdpClient3_FWD_DEFINED__

#ifdef __cplusplus
typedef class MsRdpClient3 MsRdpClient3;
#else
typedef struct MsRdpClient3 MsRdpClient3;
#endif /* __cplusplus */

#endif 	/* __MsRdpClient3_FWD_DEFINED__ */


#ifndef __MsRdpClient4_FWD_DEFINED__
#define __MsRdpClient4_FWD_DEFINED__

#ifdef __cplusplus
typedef class MsRdpClient4 MsRdpClient4;
#else
typedef struct MsRdpClient4 MsRdpClient4;
#endif /* __cplusplus */

#endif 	/* __MsRdpClient4_FWD_DEFINED__ */


#ifdef __cplusplus
extern "C"{
#endif 



#ifndef __MSTSCLib_LIBRARY_DEFINED__
#define __MSTSCLib_LIBRARY_DEFINED__

/* library MSTSCLib */
/* [version][uuid] */ 


















typedef /* [public][public][public] */ 
enum __MIDL___MIDL_itf_mstsax_0275_0001
    {	autoReconnectContinueAutomatic	= 0,
	autoReconnectContinueStop	= 1,
	autoReconnectContinueManual	= 2
    } 	AutoReconnectContinueState;

typedef /* [public][public][public] */ 
enum __MIDL_IMsRdpClient_0001
    {	exDiscReasonNoInfo	= 0,
	exDiscReasonAPIInitiatedDisconnect	= 1,
	exDiscReasonAPIInitiatedLogoff	= 2,
	exDiscReasonServerIdleTimeout	= 3,
	exDiscReasonServerLogonTimeout	= 4,
	exDiscReasonReplacedByOtherConnection	= 5,
	exDiscReasonOutOfMemory	= 6,
	exDiscReasonServerDeniedConnection	= 7,
	exDiscReasonServerDeniedConnectionFips	= 8,
	exDiscReasonLicenseInternal	= 256,
	exDiscReasonLicenseNoLicenseServer	= 257,
	exDiscReasonLicenseNoLicense	= 258,
	exDiscReasonLicenseErrClientMsg	= 259,
	exDiscReasonLicenseHwidDoesntMatchLicense	= 260,
	exDiscReasonLicenseErrClientLicense	= 261,
	exDiscReasonLicenseCantFinishProtocol	= 262,
	exDiscReasonLicenseClientEndedProtocol	= 263,
	exDiscReasonLicenseErrClientEncryption	= 264,
	exDiscReasonLicenseCantUpgradeLicense	= 265,
	exDiscReasonLicenseNoRemoteConnections	= 266,
	exDiscReasonProtocolRangeStart	= 4096,
	exDiscReasonProtocolRangeEnd	= 32767
    } 	ExtendedDisconnectReasonCode;

typedef /* [public][public][public] */ 
enum __MIDL_IMsRdpClient_0002
    {	controlCloseCanProceed	= 0,
	controlCloseWaitForEvents	= 1
    } 	ControlCloseStatus;

typedef /* [custom][public] */ unsigned __int3264 UINT_PTR;

typedef /* [custom][public] */ __int3264 LONG_PTR;


EXTERN_C const IID LIBID_MSTSCLib;

#ifndef __IMsTscAxEvents_DISPINTERFACE_DEFINED__
#define __IMsTscAxEvents_DISPINTERFACE_DEFINED__

/* dispinterface IMsTscAxEvents */
/* [uuid] */ 


EXTERN_C const IID DIID_IMsTscAxEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("336D5562-EFA8-482E-8CB3-C5C0FC7A7DB6")
    IMsTscAxEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct IMsTscAxEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsTscAxEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsTscAxEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsTscAxEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsTscAxEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsTscAxEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsTscAxEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsTscAxEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } IMsTscAxEventsVtbl;

    interface IMsTscAxEvents
    {
        CONST_VTBL struct IMsTscAxEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsTscAxEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsTscAxEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsTscAxEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsTscAxEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsTscAxEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsTscAxEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsTscAxEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __IMsTscAxEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IMsTscAx_INTERFACE_DEFINED__
#define __IMsTscAx_INTERFACE_DEFINED__

/* interface IMsTscAx */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsTscAx;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8C11EFAE-92C3-11D1-BC1E-00C04FA31489")
    IMsTscAx : public IDispatch
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Server( 
            /* [in] */ BSTR pServer) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Server( 
            /* [retval][out] */ BSTR *pServer) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Domain( 
            /* [in] */ BSTR pDomain) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Domain( 
            /* [retval][out] */ BSTR *pDomain) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_UserName( 
            /* [in] */ BSTR pUserName) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UserName( 
            /* [retval][out] */ BSTR *pUserName) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisconnectedText( 
            /* [in] */ BSTR pDisconnectedText) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisconnectedText( 
            /* [retval][out] */ BSTR *pDisconnectedText) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectingText( 
            /* [in] */ BSTR pConnectingText) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectingText( 
            /* [retval][out] */ BSTR *pConnectingText) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Connected( 
            /* [retval][out] */ short *pIsConnected) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DesktopWidth( 
            /* [in] */ long pVal) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DesktopWidth( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DesktopHeight( 
            /* [in] */ long pVal) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DesktopHeight( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_StartConnected( 
            /* [in] */ long pfStartConnected) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_StartConnected( 
            /* [retval][out] */ long *pfStartConnected) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HorizontalScrollBarVisible( 
            /* [retval][out] */ long *pfHScrollVisible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_VerticalScrollBarVisible( 
            /* [retval][out] */ long *pfVScrollVisible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FullScreenTitle( 
            /* [in] */ BSTR rhs) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CipherStrength( 
            /* [retval][out] */ long *pCipherStrength) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR *pVersion) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SecuredSettingsEnabled( 
            /* [retval][out] */ long *pSecuredSettingsEnabled) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SecuredSettings( 
            /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings( 
            /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Debugger( 
            /* [retval][out] */ IMsTscDebug **ppDebugger) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Connect( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CreateVirtualChannels( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SendOnVirtualChannel( 
            /* [in] */ BSTR chanName,
            /* [in] */ BSTR ChanData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsTscAxVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsTscAx * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsTscAx * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsTscAx * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsTscAx * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsTscAx * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsTscAx * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsTscAx * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( 
            IMsTscAx * This,
            /* [in] */ BSTR pServer);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( 
            IMsTscAx * This,
            /* [retval][out] */ BSTR *pServer);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( 
            IMsTscAx * This,
            /* [in] */ BSTR pDomain);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( 
            IMsTscAx * This,
            /* [retval][out] */ BSTR *pDomain);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( 
            IMsTscAx * This,
            /* [in] */ BSTR pUserName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( 
            IMsTscAx * This,
            /* [retval][out] */ BSTR *pUserName);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( 
            IMsTscAx * This,
            /* [in] */ BSTR pDisconnectedText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( 
            IMsTscAx * This,
            /* [retval][out] */ BSTR *pDisconnectedText);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( 
            IMsTscAx * This,
            /* [in] */ BSTR pConnectingText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( 
            IMsTscAx * This,
            /* [retval][out] */ BSTR *pConnectingText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( 
            IMsTscAx * This,
            /* [retval][out] */ short *pIsConnected);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( 
            IMsTscAx * This,
            /* [in] */ long pVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( 
            IMsTscAx * This,
            /* [retval][out] */ long *pVal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( 
            IMsTscAx * This,
            /* [in] */ long pVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( 
            IMsTscAx * This,
            /* [retval][out] */ long *pVal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( 
            IMsTscAx * This,
            /* [in] */ long pfStartConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( 
            IMsTscAx * This,
            /* [retval][out] */ long *pfStartConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( 
            IMsTscAx * This,
            /* [retval][out] */ long *pfHScrollVisible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( 
            IMsTscAx * This,
            /* [retval][out] */ long *pfVScrollVisible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( 
            IMsTscAx * This,
            /* [in] */ BSTR rhs);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( 
            IMsTscAx * This,
            /* [retval][out] */ long *pCipherStrength);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IMsTscAx * This,
            /* [retval][out] */ BSTR *pVersion);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( 
            IMsTscAx * This,
            /* [retval][out] */ long *pSecuredSettingsEnabled);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( 
            IMsTscAx * This,
            /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( 
            IMsTscAx * This,
            /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( 
            IMsTscAx * This,
            /* [retval][out] */ IMsTscDebug **ppDebugger);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( 
            IMsTscAx * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            IMsTscAx * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( 
            IMsTscAx * This,
            /* [in] */ BSTR newVal);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( 
            IMsTscAx * This,
            /* [in] */ BSTR chanName,
            /* [in] */ BSTR ChanData);
        
        END_INTERFACE
    } IMsTscAxVtbl;

    interface IMsTscAx
    {
        CONST_VTBL struct IMsTscAxVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsTscAx_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsTscAx_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsTscAx_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsTscAx_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsTscAx_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsTscAx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsTscAx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsTscAx_put_Server(This,pServer)	\
    ( (This)->lpVtbl -> put_Server(This,pServer) ) 

#define IMsTscAx_get_Server(This,pServer)	\
    ( (This)->lpVtbl -> get_Server(This,pServer) ) 

#define IMsTscAx_put_Domain(This,pDomain)	\
    ( (This)->lpVtbl -> put_Domain(This,pDomain) ) 

#define IMsTscAx_get_Domain(This,pDomain)	\
    ( (This)->lpVtbl -> get_Domain(This,pDomain) ) 

#define IMsTscAx_put_UserName(This,pUserName)	\
    ( (This)->lpVtbl -> put_UserName(This,pUserName) ) 

#define IMsTscAx_get_UserName(This,pUserName)	\
    ( (This)->lpVtbl -> get_UserName(This,pUserName) ) 

#define IMsTscAx_put_DisconnectedText(This,pDisconnectedText)	\
    ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) 

#define IMsTscAx_get_DisconnectedText(This,pDisconnectedText)	\
    ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) 

#define IMsTscAx_put_ConnectingText(This,pConnectingText)	\
    ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) 

#define IMsTscAx_get_ConnectingText(This,pConnectingText)	\
    ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) 

#define IMsTscAx_get_Connected(This,pIsConnected)	\
    ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) 

#define IMsTscAx_put_DesktopWidth(This,pVal)	\
    ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) 

#define IMsTscAx_get_DesktopWidth(This,pVal)	\
    ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) 

#define IMsTscAx_put_DesktopHeight(This,pVal)	\
    ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) 

#define IMsTscAx_get_DesktopHeight(This,pVal)	\
    ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) 

#define IMsTscAx_put_StartConnected(This,pfStartConnected)	\
    ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) 

#define IMsTscAx_get_StartConnected(This,pfStartConnected)	\
    ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) 

#define IMsTscAx_get_HorizontalScrollBarVisible(This,pfHScrollVisible)	\
    ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) 

#define IMsTscAx_get_VerticalScrollBarVisible(This,pfVScrollVisible)	\
    ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) 

#define IMsTscAx_put_FullScreenTitle(This,rhs)	\
    ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) 

#define IMsTscAx_get_CipherStrength(This,pCipherStrength)	\
    ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) 

#define IMsTscAx_get_Version(This,pVersion)	\
    ( (This)->lpVtbl -> get_Version(This,pVersion) ) 

#define IMsTscAx_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled)	\
    ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) 

#define IMsTscAx_get_SecuredSettings(This,ppSecuredSettings)	\
    ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) 

#define IMsTscAx_get_AdvancedSettings(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) 

#define IMsTscAx_get_Debugger(This,ppDebugger)	\
    ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) 

#define IMsTscAx_Connect(This)	\
    ( (This)->lpVtbl -> Connect(This) ) 

#define IMsTscAx_Disconnect(This)	\
    ( (This)->lpVtbl -> Disconnect(This) ) 

#define IMsTscAx_CreateVirtualChannels(This,newVal)	\
    ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) 

#define IMsTscAx_SendOnVirtualChannel(This,chanName,ChanData)	\
    ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsTscAx_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClient_INTERFACE_DEFINED__
#define __IMsRdpClient_INTERFACE_DEFINED__

/* interface IMsRdpClient */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsRdpClient;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("92B4A539-7115-4B7C-A5A9-E5D9EFC2780A")
    IMsRdpClient : public IMsTscAx
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ColorDepth( 
            /* [in] */ long pcolorDepth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ColorDepth( 
            /* [retval][out] */ long *pcolorDepth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings2( 
            /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SecuredSettings2( 
            /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ExtendedDisconnectReason( 
            /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FullScreen( 
            /* [in] */ VARIANT_BOOL pfFullScreen) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FullScreen( 
            /* [retval][out] */ VARIANT_BOOL *pfFullScreen) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetVirtualChannelOptions( 
            /* [in] */ BSTR chanName,
            /* [in] */ long chanOptions) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetVirtualChannelOptions( 
            /* [in] */ BSTR chanName,
            /* [retval][out] */ long *pChanOptions) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RequestClose( 
            /* [retval][out] */ ControlCloseStatus *pCloseStatus) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClientVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClient * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClient * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClient * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsRdpClient * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsRdpClient * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsRdpClient * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsRdpClient * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( 
            IMsRdpClient * This,
            /* [in] */ BSTR pServer);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( 
            IMsRdpClient * This,
            /* [retval][out] */ BSTR *pServer);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( 
            IMsRdpClient * This,
            /* [in] */ BSTR pDomain);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( 
            IMsRdpClient * This,
            /* [retval][out] */ BSTR *pDomain);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( 
            IMsRdpClient * This,
            /* [in] */ BSTR pUserName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( 
            IMsRdpClient * This,
            /* [retval][out] */ BSTR *pUserName);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( 
            IMsRdpClient * This,
            /* [in] */ BSTR pDisconnectedText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( 
            IMsRdpClient * This,
            /* [retval][out] */ BSTR *pDisconnectedText);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( 
            IMsRdpClient * This,
            /* [in] */ BSTR pConnectingText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( 
            IMsRdpClient * This,
            /* [retval][out] */ BSTR *pConnectingText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( 
            IMsRdpClient * This,
            /* [retval][out] */ short *pIsConnected);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( 
            IMsRdpClient * This,
            /* [in] */ long pVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( 
            IMsRdpClient * This,
            /* [retval][out] */ long *pVal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( 
            IMsRdpClient * This,
            /* [in] */ long pVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( 
            IMsRdpClient * This,
            /* [retval][out] */ long *pVal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( 
            IMsRdpClient * This,
            /* [in] */ long pfStartConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( 
            IMsRdpClient * This,
            /* [retval][out] */ long *pfStartConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( 
            IMsRdpClient * This,
            /* [retval][out] */ long *pfHScrollVisible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( 
            IMsRdpClient * This,
            /* [retval][out] */ long *pfVScrollVisible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( 
            IMsRdpClient * This,
            /* [in] */ BSTR rhs);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( 
            IMsRdpClient * This,
            /* [retval][out] */ long *pCipherStrength);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IMsRdpClient * This,
            /* [retval][out] */ BSTR *pVersion);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( 
            IMsRdpClient * This,
            /* [retval][out] */ long *pSecuredSettingsEnabled);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( 
            IMsRdpClient * This,
            /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( 
            IMsRdpClient * This,
            /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( 
            IMsRdpClient * This,
            /* [retval][out] */ IMsTscDebug **ppDebugger);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( 
            IMsRdpClient * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            IMsRdpClient * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( 
            IMsRdpClient * This,
            /* [in] */ BSTR newVal);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( 
            IMsRdpClient * This,
            /* [in] */ BSTR chanName,
            /* [in] */ BSTR ChanData);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( 
            IMsRdpClient * This,
            /* [in] */ long pcolorDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( 
            IMsRdpClient * This,
            /* [retval][out] */ long *pcolorDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( 
            IMsRdpClient * This,
            /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( 
            IMsRdpClient * This,
            /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( 
            IMsRdpClient * This,
            /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( 
            IMsRdpClient * This,
            /* [in] */ VARIANT_BOOL pfFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( 
            IMsRdpClient * This,
            /* [retval][out] */ VARIANT_BOOL *pfFullScreen);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( 
            IMsRdpClient * This,
            /* [in] */ BSTR chanName,
            /* [in] */ long chanOptions);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( 
            IMsRdpClient * This,
            /* [in] */ BSTR chanName,
            /* [retval][out] */ long *pChanOptions);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( 
            IMsRdpClient * This,
            /* [retval][out] */ ControlCloseStatus *pCloseStatus);
        
        END_INTERFACE
    } IMsRdpClientVtbl;

    interface IMsRdpClient
    {
        CONST_VTBL struct IMsRdpClientVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClient_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClient_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClient_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClient_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsRdpClient_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsRdpClient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsRdpClient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsRdpClient_put_Server(This,pServer)	\
    ( (This)->lpVtbl -> put_Server(This,pServer) ) 

#define IMsRdpClient_get_Server(This,pServer)	\
    ( (This)->lpVtbl -> get_Server(This,pServer) ) 

#define IMsRdpClient_put_Domain(This,pDomain)	\
    ( (This)->lpVtbl -> put_Domain(This,pDomain) ) 

#define IMsRdpClient_get_Domain(This,pDomain)	\
    ( (This)->lpVtbl -> get_Domain(This,pDomain) ) 

#define IMsRdpClient_put_UserName(This,pUserName)	\
    ( (This)->lpVtbl -> put_UserName(This,pUserName) ) 

#define IMsRdpClient_get_UserName(This,pUserName)	\
    ( (This)->lpVtbl -> get_UserName(This,pUserName) ) 

#define IMsRdpClient_put_DisconnectedText(This,pDisconnectedText)	\
    ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) 

#define IMsRdpClient_get_DisconnectedText(This,pDisconnectedText)	\
    ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) 

#define IMsRdpClient_put_ConnectingText(This,pConnectingText)	\
    ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) 

#define IMsRdpClient_get_ConnectingText(This,pConnectingText)	\
    ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) 

#define IMsRdpClient_get_Connected(This,pIsConnected)	\
    ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) 

#define IMsRdpClient_put_DesktopWidth(This,pVal)	\
    ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) 

#define IMsRdpClient_get_DesktopWidth(This,pVal)	\
    ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) 

#define IMsRdpClient_put_DesktopHeight(This,pVal)	\
    ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) 

#define IMsRdpClient_get_DesktopHeight(This,pVal)	\
    ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) 

#define IMsRdpClient_put_StartConnected(This,pfStartConnected)	\
    ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) 

#define IMsRdpClient_get_StartConnected(This,pfStartConnected)	\
    ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) 

#define IMsRdpClient_get_HorizontalScrollBarVisible(This,pfHScrollVisible)	\
    ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) 

#define IMsRdpClient_get_VerticalScrollBarVisible(This,pfVScrollVisible)	\
    ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) 

#define IMsRdpClient_put_FullScreenTitle(This,rhs)	\
    ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) 

#define IMsRdpClient_get_CipherStrength(This,pCipherStrength)	\
    ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) 

#define IMsRdpClient_get_Version(This,pVersion)	\
    ( (This)->lpVtbl -> get_Version(This,pVersion) ) 

#define IMsRdpClient_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled)	\
    ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) 

#define IMsRdpClient_get_SecuredSettings(This,ppSecuredSettings)	\
    ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) 

#define IMsRdpClient_get_AdvancedSettings(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) 

#define IMsRdpClient_get_Debugger(This,ppDebugger)	\
    ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) 

#define IMsRdpClient_Connect(This)	\
    ( (This)->lpVtbl -> Connect(This) ) 

#define IMsRdpClient_Disconnect(This)	\
    ( (This)->lpVtbl -> Disconnect(This) ) 

#define IMsRdpClient_CreateVirtualChannels(This,newVal)	\
    ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) 

#define IMsRdpClient_SendOnVirtualChannel(This,chanName,ChanData)	\
    ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) 


#define IMsRdpClient_put_ColorDepth(This,pcolorDepth)	\
    ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) 

#define IMsRdpClient_get_ColorDepth(This,pcolorDepth)	\
    ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) 

#define IMsRdpClient_get_AdvancedSettings2(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) 

#define IMsRdpClient_get_SecuredSettings2(This,ppSecuredSettings)	\
    ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) 

#define IMsRdpClient_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason)	\
    ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) 

#define IMsRdpClient_put_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) 

#define IMsRdpClient_get_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) 

#define IMsRdpClient_SetVirtualChannelOptions(This,chanName,chanOptions)	\
    ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) 

#define IMsRdpClient_GetVirtualChannelOptions(This,chanName,pChanOptions)	\
    ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) 

#define IMsRdpClient_RequestClose(This,pCloseStatus)	\
    ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsRdpClient_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClient2_INTERFACE_DEFINED__
#define __IMsRdpClient2_INTERFACE_DEFINED__

/* interface IMsRdpClient2 */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsRdpClient2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E7E17DC4-3B71-4BA7-A8E6-281FFADCA28F")
    IMsRdpClient2 : public IMsRdpClient
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings3( 
            /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectedStatusText( 
            /* [in] */ BSTR pConnectedStatusText) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectedStatusText( 
            /* [retval][out] */ BSTR *pConnectedStatusText) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClient2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClient2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClient2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClient2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsRdpClient2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsRdpClient2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsRdpClient2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsRdpClient2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR pServer);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ BSTR *pServer);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR pDomain);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ BSTR *pDomain);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR pUserName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ BSTR *pUserName);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR pDisconnectedText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ BSTR *pDisconnectedText);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR pConnectingText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ BSTR *pConnectingText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ short *pIsConnected);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( 
            IMsRdpClient2 * This,
            /* [in] */ long pVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ long *pVal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( 
            IMsRdpClient2 * This,
            /* [in] */ long pVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ long *pVal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( 
            IMsRdpClient2 * This,
            /* [in] */ long pfStartConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ long *pfStartConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ long *pfHScrollVisible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ long *pfVScrollVisible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR rhs);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ long *pCipherStrength);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ BSTR *pVersion);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ long *pSecuredSettingsEnabled);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ IMsTscDebug **ppDebugger);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( 
            IMsRdpClient2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            IMsRdpClient2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR newVal);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR chanName,
            /* [in] */ BSTR ChanData);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( 
            IMsRdpClient2 * This,
            /* [in] */ long pcolorDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ long *pcolorDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( 
            IMsRdpClient2 * This,
            /* [in] */ VARIANT_BOOL pfFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfFullScreen);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR chanName,
            /* [in] */ long chanOptions);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR chanName,
            /* [retval][out] */ long *pChanOptions);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ ControlCloseStatus *pCloseStatus);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings3 )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectedStatusText )( 
            IMsRdpClient2 * This,
            /* [in] */ BSTR pConnectedStatusText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedStatusText )( 
            IMsRdpClient2 * This,
            /* [retval][out] */ BSTR *pConnectedStatusText);
        
        END_INTERFACE
    } IMsRdpClient2Vtbl;

    interface IMsRdpClient2
    {
        CONST_VTBL struct IMsRdpClient2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClient2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClient2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClient2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClient2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsRdpClient2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsRdpClient2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsRdpClient2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsRdpClient2_put_Server(This,pServer)	\
    ( (This)->lpVtbl -> put_Server(This,pServer) ) 

#define IMsRdpClient2_get_Server(This,pServer)	\
    ( (This)->lpVtbl -> get_Server(This,pServer) ) 

#define IMsRdpClient2_put_Domain(This,pDomain)	\
    ( (This)->lpVtbl -> put_Domain(This,pDomain) ) 

#define IMsRdpClient2_get_Domain(This,pDomain)	\
    ( (This)->lpVtbl -> get_Domain(This,pDomain) ) 

#define IMsRdpClient2_put_UserName(This,pUserName)	\
    ( (This)->lpVtbl -> put_UserName(This,pUserName) ) 

#define IMsRdpClient2_get_UserName(This,pUserName)	\
    ( (This)->lpVtbl -> get_UserName(This,pUserName) ) 

#define IMsRdpClient2_put_DisconnectedText(This,pDisconnectedText)	\
    ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) 

#define IMsRdpClient2_get_DisconnectedText(This,pDisconnectedText)	\
    ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) 

#define IMsRdpClient2_put_ConnectingText(This,pConnectingText)	\
    ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) 

#define IMsRdpClient2_get_ConnectingText(This,pConnectingText)	\
    ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) 

#define IMsRdpClient2_get_Connected(This,pIsConnected)	\
    ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) 

#define IMsRdpClient2_put_DesktopWidth(This,pVal)	\
    ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) 

#define IMsRdpClient2_get_DesktopWidth(This,pVal)	\
    ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) 

#define IMsRdpClient2_put_DesktopHeight(This,pVal)	\
    ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) 

#define IMsRdpClient2_get_DesktopHeight(This,pVal)	\
    ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) 

#define IMsRdpClient2_put_StartConnected(This,pfStartConnected)	\
    ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) 

#define IMsRdpClient2_get_StartConnected(This,pfStartConnected)	\
    ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) 

#define IMsRdpClient2_get_HorizontalScrollBarVisible(This,pfHScrollVisible)	\
    ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) 

#define IMsRdpClient2_get_VerticalScrollBarVisible(This,pfVScrollVisible)	\
    ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) 

#define IMsRdpClient2_put_FullScreenTitle(This,rhs)	\
    ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) 

#define IMsRdpClient2_get_CipherStrength(This,pCipherStrength)	\
    ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) 

#define IMsRdpClient2_get_Version(This,pVersion)	\
    ( (This)->lpVtbl -> get_Version(This,pVersion) ) 

#define IMsRdpClient2_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled)	\
    ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) 

#define IMsRdpClient2_get_SecuredSettings(This,ppSecuredSettings)	\
    ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) 

#define IMsRdpClient2_get_AdvancedSettings(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) 

#define IMsRdpClient2_get_Debugger(This,ppDebugger)	\
    ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) 

#define IMsRdpClient2_Connect(This)	\
    ( (This)->lpVtbl -> Connect(This) ) 

#define IMsRdpClient2_Disconnect(This)	\
    ( (This)->lpVtbl -> Disconnect(This) ) 

#define IMsRdpClient2_CreateVirtualChannels(This,newVal)	\
    ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) 

#define IMsRdpClient2_SendOnVirtualChannel(This,chanName,ChanData)	\
    ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) 


#define IMsRdpClient2_put_ColorDepth(This,pcolorDepth)	\
    ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) 

#define IMsRdpClient2_get_ColorDepth(This,pcolorDepth)	\
    ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) 

#define IMsRdpClient2_get_AdvancedSettings2(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) 

#define IMsRdpClient2_get_SecuredSettings2(This,ppSecuredSettings)	\
    ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) 

#define IMsRdpClient2_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason)	\
    ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) 

#define IMsRdpClient2_put_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) 

#define IMsRdpClient2_get_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) 

#define IMsRdpClient2_SetVirtualChannelOptions(This,chanName,chanOptions)	\
    ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) 

#define IMsRdpClient2_GetVirtualChannelOptions(This,chanName,pChanOptions)	\
    ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) 

#define IMsRdpClient2_RequestClose(This,pCloseStatus)	\
    ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) 


#define IMsRdpClient2_get_AdvancedSettings3(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings3(This,ppAdvSettings) ) 

#define IMsRdpClient2_put_ConnectedStatusText(This,pConnectedStatusText)	\
    ( (This)->lpVtbl -> put_ConnectedStatusText(This,pConnectedStatusText) ) 

#define IMsRdpClient2_get_ConnectedStatusText(This,pConnectedStatusText)	\
    ( (This)->lpVtbl -> get_ConnectedStatusText(This,pConnectedStatusText) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsRdpClient2_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClient3_INTERFACE_DEFINED__
#define __IMsRdpClient3_INTERFACE_DEFINED__

/* interface IMsRdpClient3 */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsRdpClient3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("91B7CBC5-A72E-4FA0-9300-D647D7E897FF")
    IMsRdpClient3 : public IMsRdpClient2
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings4( 
            /* [retval][out] */ IMsRdpClientAdvancedSettings3 **ppAdvSettings) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClient3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClient3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClient3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClient3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsRdpClient3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsRdpClient3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsRdpClient3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsRdpClient3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR pServer);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ BSTR *pServer);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR pDomain);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ BSTR *pDomain);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR pUserName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ BSTR *pUserName);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR pDisconnectedText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ BSTR *pDisconnectedText);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR pConnectingText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ BSTR *pConnectingText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ short *pIsConnected);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( 
            IMsRdpClient3 * This,
            /* [in] */ long pVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ long *pVal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( 
            IMsRdpClient3 * This,
            /* [in] */ long pVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ long *pVal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( 
            IMsRdpClient3 * This,
            /* [in] */ long pfStartConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ long *pfStartConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ long *pfHScrollVisible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ long *pfVScrollVisible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR rhs);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ long *pCipherStrength);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ BSTR *pVersion);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ long *pSecuredSettingsEnabled);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ IMsTscDebug **ppDebugger);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( 
            IMsRdpClient3 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            IMsRdpClient3 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR newVal);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR chanName,
            /* [in] */ BSTR ChanData);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( 
            IMsRdpClient3 * This,
            /* [in] */ long pcolorDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ long *pcolorDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( 
            IMsRdpClient3 * This,
            /* [in] */ VARIANT_BOOL pfFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ VARIANT_BOOL *pfFullScreen);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR chanName,
            /* [in] */ long chanOptions);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR chanName,
            /* [retval][out] */ long *pChanOptions);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ ControlCloseStatus *pCloseStatus);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings3 )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectedStatusText )( 
            IMsRdpClient3 * This,
            /* [in] */ BSTR pConnectedStatusText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedStatusText )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ BSTR *pConnectedStatusText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings4 )( 
            IMsRdpClient3 * This,
            /* [retval][out] */ IMsRdpClientAdvancedSettings3 **ppAdvSettings);
        
        END_INTERFACE
    } IMsRdpClient3Vtbl;

    interface IMsRdpClient3
    {
        CONST_VTBL struct IMsRdpClient3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClient3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClient3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClient3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClient3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsRdpClient3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsRdpClient3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsRdpClient3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsRdpClient3_put_Server(This,pServer)	\
    ( (This)->lpVtbl -> put_Server(This,pServer) ) 

#define IMsRdpClient3_get_Server(This,pServer)	\
    ( (This)->lpVtbl -> get_Server(This,pServer) ) 

#define IMsRdpClient3_put_Domain(This,pDomain)	\
    ( (This)->lpVtbl -> put_Domain(This,pDomain) ) 

#define IMsRdpClient3_get_Domain(This,pDomain)	\
    ( (This)->lpVtbl -> get_Domain(This,pDomain) ) 

#define IMsRdpClient3_put_UserName(This,pUserName)	\
    ( (This)->lpVtbl -> put_UserName(This,pUserName) ) 

#define IMsRdpClient3_get_UserName(This,pUserName)	\
    ( (This)->lpVtbl -> get_UserName(This,pUserName) ) 

#define IMsRdpClient3_put_DisconnectedText(This,pDisconnectedText)	\
    ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) 

#define IMsRdpClient3_get_DisconnectedText(This,pDisconnectedText)	\
    ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) 

#define IMsRdpClient3_put_ConnectingText(This,pConnectingText)	\
    ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) 

#define IMsRdpClient3_get_ConnectingText(This,pConnectingText)	\
    ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) 

#define IMsRdpClient3_get_Connected(This,pIsConnected)	\
    ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) 

#define IMsRdpClient3_put_DesktopWidth(This,pVal)	\
    ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) 

#define IMsRdpClient3_get_DesktopWidth(This,pVal)	\
    ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) 

#define IMsRdpClient3_put_DesktopHeight(This,pVal)	\
    ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) 

#define IMsRdpClient3_get_DesktopHeight(This,pVal)	\
    ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) 

#define IMsRdpClient3_put_StartConnected(This,pfStartConnected)	\
    ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) 

#define IMsRdpClient3_get_StartConnected(This,pfStartConnected)	\
    ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) 

#define IMsRdpClient3_get_HorizontalScrollBarVisible(This,pfHScrollVisible)	\
    ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) 

#define IMsRdpClient3_get_VerticalScrollBarVisible(This,pfVScrollVisible)	\
    ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) 

#define IMsRdpClient3_put_FullScreenTitle(This,rhs)	\
    ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) 

#define IMsRdpClient3_get_CipherStrength(This,pCipherStrength)	\
    ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) 

#define IMsRdpClient3_get_Version(This,pVersion)	\
    ( (This)->lpVtbl -> get_Version(This,pVersion) ) 

#define IMsRdpClient3_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled)	\
    ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) 

#define IMsRdpClient3_get_SecuredSettings(This,ppSecuredSettings)	\
    ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) 

#define IMsRdpClient3_get_AdvancedSettings(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) 

#define IMsRdpClient3_get_Debugger(This,ppDebugger)	\
    ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) 

#define IMsRdpClient3_Connect(This)	\
    ( (This)->lpVtbl -> Connect(This) ) 

#define IMsRdpClient3_Disconnect(This)	\
    ( (This)->lpVtbl -> Disconnect(This) ) 

#define IMsRdpClient3_CreateVirtualChannels(This,newVal)	\
    ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) 

#define IMsRdpClient3_SendOnVirtualChannel(This,chanName,ChanData)	\
    ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) 


#define IMsRdpClient3_put_ColorDepth(This,pcolorDepth)	\
    ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) 

#define IMsRdpClient3_get_ColorDepth(This,pcolorDepth)	\
    ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) 

#define IMsRdpClient3_get_AdvancedSettings2(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) 

#define IMsRdpClient3_get_SecuredSettings2(This,ppSecuredSettings)	\
    ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) 

#define IMsRdpClient3_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason)	\
    ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) 

#define IMsRdpClient3_put_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) 

#define IMsRdpClient3_get_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) 

#define IMsRdpClient3_SetVirtualChannelOptions(This,chanName,chanOptions)	\
    ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) 

#define IMsRdpClient3_GetVirtualChannelOptions(This,chanName,pChanOptions)	\
    ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) 

#define IMsRdpClient3_RequestClose(This,pCloseStatus)	\
    ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) 


#define IMsRdpClient3_get_AdvancedSettings3(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings3(This,ppAdvSettings) ) 

#define IMsRdpClient3_put_ConnectedStatusText(This,pConnectedStatusText)	\
    ( (This)->lpVtbl -> put_ConnectedStatusText(This,pConnectedStatusText) ) 

#define IMsRdpClient3_get_ConnectedStatusText(This,pConnectedStatusText)	\
    ( (This)->lpVtbl -> get_ConnectedStatusText(This,pConnectedStatusText) ) 


#define IMsRdpClient3_get_AdvancedSettings4(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings4(This,ppAdvSettings) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsRdpClient3_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClient4_INTERFACE_DEFINED__
#define __IMsRdpClient4_INTERFACE_DEFINED__

/* interface IMsRdpClient4 */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsRdpClient4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("095E0738-D97D-488B-B9F6-DD0E8D66C0DE")
    IMsRdpClient4 : public IMsRdpClient3
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AdvancedSettings5( 
            /* [retval][out] */ IMsRdpClientAdvancedSettings4 **ppAdvSettings5) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClient4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClient4 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClient4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClient4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsRdpClient4 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsRdpClient4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsRdpClient4 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsRdpClient4 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Server )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR pServer);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Server )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ BSTR *pServer);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Domain )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR pDomain);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ BSTR *pDomain);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR pUserName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ BSTR *pUserName);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisconnectedText )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR pDisconnectedText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisconnectedText )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ BSTR *pDisconnectedText);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectingText )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR pConnectingText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectingText )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ BSTR *pConnectingText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ short *pIsConnected);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopWidth )( 
            IMsRdpClient4 * This,
            /* [in] */ long pVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopWidth )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ long *pVal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DesktopHeight )( 
            IMsRdpClient4 * This,
            /* [in] */ long pVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DesktopHeight )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ long *pVal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartConnected )( 
            IMsRdpClient4 * This,
            /* [in] */ long pfStartConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartConnected )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ long *pfStartConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalScrollBarVisible )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ long *pfHScrollVisible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalScrollBarVisible )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ long *pfVScrollVisible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTitle )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR rhs);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CipherStrength )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ long *pCipherStrength);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ BSTR *pVersion);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettingsEnabled )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ long *pSecuredSettingsEnabled);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ IMsTscSecuredSettings **ppSecuredSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ IMsTscAdvancedSettings **ppAdvSettings);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Debugger )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ IMsTscDebug **ppDebugger);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( 
            IMsRdpClient4 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            IMsRdpClient4 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CreateVirtualChannels )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR newVal);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SendOnVirtualChannel )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR chanName,
            /* [in] */ BSTR ChanData);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorDepth )( 
            IMsRdpClient4 * This,
            /* [in] */ long pcolorDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorDepth )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ long *pcolorDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings2 )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ IMsRdpClientAdvancedSettings **ppAdvSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecuredSettings2 )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ IMsRdpClientSecuredSettings **ppSecuredSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtendedDisconnectReason )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ ExtendedDisconnectReasonCode *pExtendedDisconnectReason);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( 
            IMsRdpClient4 * This,
            /* [in] */ VARIANT_BOOL pfFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ VARIANT_BOOL *pfFullScreen);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetVirtualChannelOptions )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR chanName,
            /* [in] */ long chanOptions);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetVirtualChannelOptions )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR chanName,
            /* [retval][out] */ long *pChanOptions);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RequestClose )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ ControlCloseStatus *pCloseStatus);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings3 )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ IMsRdpClientAdvancedSettings2 **ppAdvSettings);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectedStatusText )( 
            IMsRdpClient4 * This,
            /* [in] */ BSTR pConnectedStatusText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedStatusText )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ BSTR *pConnectedStatusText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings4 )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ IMsRdpClientAdvancedSettings3 **ppAdvSettings);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdvancedSettings5 )( 
            IMsRdpClient4 * This,
            /* [retval][out] */ IMsRdpClientAdvancedSettings4 **ppAdvSettings5);
        
        END_INTERFACE
    } IMsRdpClient4Vtbl;

    interface IMsRdpClient4
    {
        CONST_VTBL struct IMsRdpClient4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClient4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClient4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClient4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClient4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsRdpClient4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsRdpClient4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsRdpClient4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsRdpClient4_put_Server(This,pServer)	\
    ( (This)->lpVtbl -> put_Server(This,pServer) ) 

#define IMsRdpClient4_get_Server(This,pServer)	\
    ( (This)->lpVtbl -> get_Server(This,pServer) ) 

#define IMsRdpClient4_put_Domain(This,pDomain)	\
    ( (This)->lpVtbl -> put_Domain(This,pDomain) ) 

#define IMsRdpClient4_get_Domain(This,pDomain)	\
    ( (This)->lpVtbl -> get_Domain(This,pDomain) ) 

#define IMsRdpClient4_put_UserName(This,pUserName)	\
    ( (This)->lpVtbl -> put_UserName(This,pUserName) ) 

#define IMsRdpClient4_get_UserName(This,pUserName)	\
    ( (This)->lpVtbl -> get_UserName(This,pUserName) ) 

#define IMsRdpClient4_put_DisconnectedText(This,pDisconnectedText)	\
    ( (This)->lpVtbl -> put_DisconnectedText(This,pDisconnectedText) ) 

#define IMsRdpClient4_get_DisconnectedText(This,pDisconnectedText)	\
    ( (This)->lpVtbl -> get_DisconnectedText(This,pDisconnectedText) ) 

#define IMsRdpClient4_put_ConnectingText(This,pConnectingText)	\
    ( (This)->lpVtbl -> put_ConnectingText(This,pConnectingText) ) 

#define IMsRdpClient4_get_ConnectingText(This,pConnectingText)	\
    ( (This)->lpVtbl -> get_ConnectingText(This,pConnectingText) ) 

#define IMsRdpClient4_get_Connected(This,pIsConnected)	\
    ( (This)->lpVtbl -> get_Connected(This,pIsConnected) ) 

#define IMsRdpClient4_put_DesktopWidth(This,pVal)	\
    ( (This)->lpVtbl -> put_DesktopWidth(This,pVal) ) 

#define IMsRdpClient4_get_DesktopWidth(This,pVal)	\
    ( (This)->lpVtbl -> get_DesktopWidth(This,pVal) ) 

#define IMsRdpClient4_put_DesktopHeight(This,pVal)	\
    ( (This)->lpVtbl -> put_DesktopHeight(This,pVal) ) 

#define IMsRdpClient4_get_DesktopHeight(This,pVal)	\
    ( (This)->lpVtbl -> get_DesktopHeight(This,pVal) ) 

#define IMsRdpClient4_put_StartConnected(This,pfStartConnected)	\
    ( (This)->lpVtbl -> put_StartConnected(This,pfStartConnected) ) 

#define IMsRdpClient4_get_StartConnected(This,pfStartConnected)	\
    ( (This)->lpVtbl -> get_StartConnected(This,pfStartConnected) ) 

#define IMsRdpClient4_get_HorizontalScrollBarVisible(This,pfHScrollVisible)	\
    ( (This)->lpVtbl -> get_HorizontalScrollBarVisible(This,pfHScrollVisible) ) 

#define IMsRdpClient4_get_VerticalScrollBarVisible(This,pfVScrollVisible)	\
    ( (This)->lpVtbl -> get_VerticalScrollBarVisible(This,pfVScrollVisible) ) 

#define IMsRdpClient4_put_FullScreenTitle(This,rhs)	\
    ( (This)->lpVtbl -> put_FullScreenTitle(This,rhs) ) 

#define IMsRdpClient4_get_CipherStrength(This,pCipherStrength)	\
    ( (This)->lpVtbl -> get_CipherStrength(This,pCipherStrength) ) 

#define IMsRdpClient4_get_Version(This,pVersion)	\
    ( (This)->lpVtbl -> get_Version(This,pVersion) ) 

#define IMsRdpClient4_get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled)	\
    ( (This)->lpVtbl -> get_SecuredSettingsEnabled(This,pSecuredSettingsEnabled) ) 

#define IMsRdpClient4_get_SecuredSettings(This,ppSecuredSettings)	\
    ( (This)->lpVtbl -> get_SecuredSettings(This,ppSecuredSettings) ) 

#define IMsRdpClient4_get_AdvancedSettings(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings(This,ppAdvSettings) ) 

#define IMsRdpClient4_get_Debugger(This,ppDebugger)	\
    ( (This)->lpVtbl -> get_Debugger(This,ppDebugger) ) 

#define IMsRdpClient4_Connect(This)	\
    ( (This)->lpVtbl -> Connect(This) ) 

#define IMsRdpClient4_Disconnect(This)	\
    ( (This)->lpVtbl -> Disconnect(This) ) 

#define IMsRdpClient4_CreateVirtualChannels(This,newVal)	\
    ( (This)->lpVtbl -> CreateVirtualChannels(This,newVal) ) 

#define IMsRdpClient4_SendOnVirtualChannel(This,chanName,ChanData)	\
    ( (This)->lpVtbl -> SendOnVirtualChannel(This,chanName,ChanData) ) 


#define IMsRdpClient4_put_ColorDepth(This,pcolorDepth)	\
    ( (This)->lpVtbl -> put_ColorDepth(This,pcolorDepth) ) 

#define IMsRdpClient4_get_ColorDepth(This,pcolorDepth)	\
    ( (This)->lpVtbl -> get_ColorDepth(This,pcolorDepth) ) 

#define IMsRdpClient4_get_AdvancedSettings2(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings2(This,ppAdvSettings) ) 

#define IMsRdpClient4_get_SecuredSettings2(This,ppSecuredSettings)	\
    ( (This)->lpVtbl -> get_SecuredSettings2(This,ppSecuredSettings) ) 

#define IMsRdpClient4_get_ExtendedDisconnectReason(This,pExtendedDisconnectReason)	\
    ( (This)->lpVtbl -> get_ExtendedDisconnectReason(This,pExtendedDisconnectReason) ) 

#define IMsRdpClient4_put_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) 

#define IMsRdpClient4_get_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) 

#define IMsRdpClient4_SetVirtualChannelOptions(This,chanName,chanOptions)	\
    ( (This)->lpVtbl -> SetVirtualChannelOptions(This,chanName,chanOptions) ) 

#define IMsRdpClient4_GetVirtualChannelOptions(This,chanName,pChanOptions)	\
    ( (This)->lpVtbl -> GetVirtualChannelOptions(This,chanName,pChanOptions) ) 

#define IMsRdpClient4_RequestClose(This,pCloseStatus)	\
    ( (This)->lpVtbl -> RequestClose(This,pCloseStatus) ) 


#define IMsRdpClient4_get_AdvancedSettings3(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings3(This,ppAdvSettings) ) 

#define IMsRdpClient4_put_ConnectedStatusText(This,pConnectedStatusText)	\
    ( (This)->lpVtbl -> put_ConnectedStatusText(This,pConnectedStatusText) ) 

#define IMsRdpClient4_get_ConnectedStatusText(This,pConnectedStatusText)	\
    ( (This)->lpVtbl -> get_ConnectedStatusText(This,pConnectedStatusText) ) 


#define IMsRdpClient4_get_AdvancedSettings4(This,ppAdvSettings)	\
    ( (This)->lpVtbl -> get_AdvancedSettings4(This,ppAdvSettings) ) 


#define IMsRdpClient4_get_AdvancedSettings5(This,ppAdvSettings5)	\
    ( (This)->lpVtbl -> get_AdvancedSettings5(This,ppAdvSettings5) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsRdpClient4_INTERFACE_DEFINED__ */


#ifndef __IMsTscNonScriptable_INTERFACE_DEFINED__
#define __IMsTscNonScriptable_INTERFACE_DEFINED__

/* interface IMsTscNonScriptable */
/* [object][uuid] */ 


EXTERN_C const IID IID_IMsTscNonScriptable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C1E6743A-41C1-4A74-832A-0DD06C1C7A0E")
    IMsTscNonScriptable : public IUnknown
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClearTextPassword( 
            /* [in] */ BSTR rhs) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PortablePassword( 
            /* [in] */ BSTR pPortablePass) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortablePassword( 
            /* [retval][out] */ BSTR *pPortablePass) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PortableSalt( 
            /* [in] */ BSTR pPortableSalt) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortableSalt( 
            /* [retval][out] */ BSTR *pPortableSalt) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BinaryPassword( 
            /* [in] */ BSTR pBinaryPassword) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BinaryPassword( 
            /* [retval][out] */ BSTR *pBinaryPassword) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BinarySalt( 
            /* [in] */ BSTR pSalt) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BinarySalt( 
            /* [retval][out] */ BSTR *pSalt) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ResetPassword( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsTscNonScriptableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsTscNonScriptable * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsTscNonScriptable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsTscNonScriptable * This);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( 
            IMsTscNonScriptable * This,
            /* [in] */ BSTR rhs);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( 
            IMsTscNonScriptable * This,
            /* [in] */ BSTR pPortablePass);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( 
            IMsTscNonScriptable * This,
            /* [retval][out] */ BSTR *pPortablePass);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( 
            IMsTscNonScriptable * This,
            /* [in] */ BSTR pPortableSalt);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( 
            IMsTscNonScriptable * This,
            /* [retval][out] */ BSTR *pPortableSalt);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( 
            IMsTscNonScriptable * This,
            /* [in] */ BSTR pBinaryPassword);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( 
            IMsTscNonScriptable * This,
            /* [retval][out] */ BSTR *pBinaryPassword);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( 
            IMsTscNonScriptable * This,
            /* [in] */ BSTR pSalt);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( 
            IMsTscNonScriptable * This,
            /* [retval][out] */ BSTR *pSalt);
        
        HRESULT ( STDMETHODCALLTYPE *ResetPassword )( 
            IMsTscNonScriptable * This);
        
        END_INTERFACE
    } IMsTscNonScriptableVtbl;

    interface IMsTscNonScriptable
    {
        CONST_VTBL struct IMsTscNonScriptableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsTscNonScriptable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsTscNonScriptable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsTscNonScriptable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsTscNonScriptable_put_ClearTextPassword(This,rhs)	\
    ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) 

#define IMsTscNonScriptable_put_PortablePassword(This,pPortablePass)	\
    ( (This)->lpVtbl -> put_PortablePassword(This,pPortablePass) ) 

#define IMsTscNonScriptable_get_PortablePassword(This,pPortablePass)	\
    ( (This)->lpVtbl -> get_PortablePassword(This,pPortablePass) ) 

#define IMsTscNonScriptable_put_PortableSalt(This,pPortableSalt)	\
    ( (This)->lpVtbl -> put_PortableSalt(This,pPortableSalt) ) 

#define IMsTscNonScriptable_get_PortableSalt(This,pPortableSalt)	\
    ( (This)->lpVtbl -> get_PortableSalt(This,pPortableSalt) ) 

#define IMsTscNonScriptable_put_BinaryPassword(This,pBinaryPassword)	\
    ( (This)->lpVtbl -> put_BinaryPassword(This,pBinaryPassword) ) 

#define IMsTscNonScriptable_get_BinaryPassword(This,pBinaryPassword)	\
    ( (This)->lpVtbl -> get_BinaryPassword(This,pBinaryPassword) ) 

#define IMsTscNonScriptable_put_BinarySalt(This,pSalt)	\
    ( (This)->lpVtbl -> put_BinarySalt(This,pSalt) ) 

#define IMsTscNonScriptable_get_BinarySalt(This,pSalt)	\
    ( (This)->lpVtbl -> get_BinarySalt(This,pSalt) ) 

#define IMsTscNonScriptable_ResetPassword(This)	\
    ( (This)->lpVtbl -> ResetPassword(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsTscNonScriptable_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClientNonScriptable_INTERFACE_DEFINED__
#define __IMsRdpClientNonScriptable_INTERFACE_DEFINED__

/* interface IMsRdpClientNonScriptable */
/* [object][uuid] */ 


EXTERN_C const IID IID_IMsRdpClientNonScriptable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2F079C4C-87B2-4AFD-97AB-20CDB43038AE")
    IMsRdpClientNonScriptable : public IMsTscNonScriptable
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE NotifyRedirectDeviceChange( 
            /* [in] */ UINT_PTR wParam,
            /* [in] */ LONG_PTR lParam) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SendKeys( 
            /* [in] */ long numKeys,
            /* [in] */ VARIANT_BOOL *pbArrayKeyUp,
            /* [in] */ long *plKeyData) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClientNonScriptableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClientNonScriptable * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClientNonScriptable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClientNonScriptable * This);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( 
            IMsRdpClientNonScriptable * This,
            /* [in] */ BSTR rhs);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( 
            IMsRdpClientNonScriptable * This,
            /* [in] */ BSTR pPortablePass);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( 
            IMsRdpClientNonScriptable * This,
            /* [retval][out] */ BSTR *pPortablePass);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( 
            IMsRdpClientNonScriptable * This,
            /* [in] */ BSTR pPortableSalt);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( 
            IMsRdpClientNonScriptable * This,
            /* [retval][out] */ BSTR *pPortableSalt);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( 
            IMsRdpClientNonScriptable * This,
            /* [in] */ BSTR pBinaryPassword);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( 
            IMsRdpClientNonScriptable * This,
            /* [retval][out] */ BSTR *pBinaryPassword);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( 
            IMsRdpClientNonScriptable * This,
            /* [in] */ BSTR pSalt);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( 
            IMsRdpClientNonScriptable * This,
            /* [retval][out] */ BSTR *pSalt);
        
        HRESULT ( STDMETHODCALLTYPE *ResetPassword )( 
            IMsRdpClientNonScriptable * This);
        
        HRESULT ( STDMETHODCALLTYPE *NotifyRedirectDeviceChange )( 
            IMsRdpClientNonScriptable * This,
            /* [in] */ UINT_PTR wParam,
            /* [in] */ LONG_PTR lParam);
        
        HRESULT ( STDMETHODCALLTYPE *SendKeys )( 
            IMsRdpClientNonScriptable * This,
            /* [in] */ long numKeys,
            /* [in] */ VARIANT_BOOL *pbArrayKeyUp,
            /* [in] */ long *plKeyData);
        
        END_INTERFACE
    } IMsRdpClientNonScriptableVtbl;

    interface IMsRdpClientNonScriptable
    {
        CONST_VTBL struct IMsRdpClientNonScriptableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClientNonScriptable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClientNonScriptable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClientNonScriptable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClientNonScriptable_put_ClearTextPassword(This,rhs)	\
    ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) 

#define IMsRdpClientNonScriptable_put_PortablePassword(This,pPortablePass)	\
    ( (This)->lpVtbl -> put_PortablePassword(This,pPortablePass) ) 

#define IMsRdpClientNonScriptable_get_PortablePassword(This,pPortablePass)	\
    ( (This)->lpVtbl -> get_PortablePassword(This,pPortablePass) ) 

#define IMsRdpClientNonScriptable_put_PortableSalt(This,pPortableSalt)	\
    ( (This)->lpVtbl -> put_PortableSalt(This,pPortableSalt) ) 

#define IMsRdpClientNonScriptable_get_PortableSalt(This,pPortableSalt)	\
    ( (This)->lpVtbl -> get_PortableSalt(This,pPortableSalt) ) 

#define IMsRdpClientNonScriptable_put_BinaryPassword(This,pBinaryPassword)	\
    ( (This)->lpVtbl -> put_BinaryPassword(This,pBinaryPassword) ) 

#define IMsRdpClientNonScriptable_get_BinaryPassword(This,pBinaryPassword)	\
    ( (This)->lpVtbl -> get_BinaryPassword(This,pBinaryPassword) ) 

#define IMsRdpClientNonScriptable_put_BinarySalt(This,pSalt)	\
    ( (This)->lpVtbl -> put_BinarySalt(This,pSalt) ) 

#define IMsRdpClientNonScriptable_get_BinarySalt(This,pSalt)	\
    ( (This)->lpVtbl -> get_BinarySalt(This,pSalt) ) 

#define IMsRdpClientNonScriptable_ResetPassword(This)	\
    ( (This)->lpVtbl -> ResetPassword(This) ) 


#define IMsRdpClientNonScriptable_NotifyRedirectDeviceChange(This,wParam,lParam)	\
    ( (This)->lpVtbl -> NotifyRedirectDeviceChange(This,wParam,lParam) ) 

#define IMsRdpClientNonScriptable_SendKeys(This,numKeys,pbArrayKeyUp,plKeyData)	\
    ( (This)->lpVtbl -> SendKeys(This,numKeys,pbArrayKeyUp,plKeyData) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsRdpClientNonScriptable_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClientNonScriptable2_INTERFACE_DEFINED__
#define __IMsRdpClientNonScriptable2_INTERFACE_DEFINED__

/* interface IMsRdpClientNonScriptable2 */
/* [object][uuid] */ 


EXTERN_C const IID IID_IMsRdpClientNonScriptable2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("17A5E535-4072-4FA4-AF32-C8D0D47345E9")
    IMsRdpClientNonScriptable2 : public IMsRdpClientNonScriptable
    {
    public:
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UIParentWindowHandle( 
            /* [in] */ HWND phwndUIParentWindowHandle) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UIParentWindowHandle( 
            /* [retval][out] */ HWND *phwndUIParentWindowHandle) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClientNonScriptable2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClientNonScriptable2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClientNonScriptable2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClientNonScriptable2 * This);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( 
            IMsRdpClientNonScriptable2 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( 
            IMsRdpClientNonScriptable2 * This,
            /* [in] */ BSTR pPortablePass);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( 
            IMsRdpClientNonScriptable2 * This,
            /* [retval][out] */ BSTR *pPortablePass);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( 
            IMsRdpClientNonScriptable2 * This,
            /* [in] */ BSTR pPortableSalt);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( 
            IMsRdpClientNonScriptable2 * This,
            /* [retval][out] */ BSTR *pPortableSalt);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( 
            IMsRdpClientNonScriptable2 * This,
            /* [in] */ BSTR pBinaryPassword);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( 
            IMsRdpClientNonScriptable2 * This,
            /* [retval][out] */ BSTR *pBinaryPassword);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( 
            IMsRdpClientNonScriptable2 * This,
            /* [in] */ BSTR pSalt);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( 
            IMsRdpClientNonScriptable2 * This,
            /* [retval][out] */ BSTR *pSalt);
        
        HRESULT ( STDMETHODCALLTYPE *ResetPassword )( 
            IMsRdpClientNonScriptable2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *NotifyRedirectDeviceChange )( 
            IMsRdpClientNonScriptable2 * This,
            /* [in] */ UINT_PTR wParam,
            /* [in] */ LONG_PTR lParam);
        
        HRESULT ( STDMETHODCALLTYPE *SendKeys )( 
            IMsRdpClientNonScriptable2 * This,
            /* [in] */ long numKeys,
            /* [in] */ VARIANT_BOOL *pbArrayKeyUp,
            /* [in] */ long *plKeyData);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIParentWindowHandle )( 
            IMsRdpClientNonScriptable2 * This,
            /* [in] */ HWND phwndUIParentWindowHandle);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIParentWindowHandle )( 
            IMsRdpClientNonScriptable2 * This,
            /* [retval][out] */ HWND *phwndUIParentWindowHandle);
        
        END_INTERFACE
    } IMsRdpClientNonScriptable2Vtbl;

    interface IMsRdpClientNonScriptable2
    {
        CONST_VTBL struct IMsRdpClientNonScriptable2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClientNonScriptable2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClientNonScriptable2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClientNonScriptable2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClientNonScriptable2_put_ClearTextPassword(This,rhs)	\
    ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) 

#define IMsRdpClientNonScriptable2_put_PortablePassword(This,pPortablePass)	\
    ( (This)->lpVtbl -> put_PortablePassword(This,pPortablePass) ) 

#define IMsRdpClientNonScriptable2_get_PortablePassword(This,pPortablePass)	\
    ( (This)->lpVtbl -> get_PortablePassword(This,pPortablePass) ) 

#define IMsRdpClientNonScriptable2_put_PortableSalt(This,pPortableSalt)	\
    ( (This)->lpVtbl -> put_PortableSalt(This,pPortableSalt) ) 

#define IMsRdpClientNonScriptable2_get_PortableSalt(This,pPortableSalt)	\
    ( (This)->lpVtbl -> get_PortableSalt(This,pPortableSalt) ) 

#define IMsRdpClientNonScriptable2_put_BinaryPassword(This,pBinaryPassword)	\
    ( (This)->lpVtbl -> put_BinaryPassword(This,pBinaryPassword) ) 

#define IMsRdpClientNonScriptable2_get_BinaryPassword(This,pBinaryPassword)	\
    ( (This)->lpVtbl -> get_BinaryPassword(This,pBinaryPassword) ) 

#define IMsRdpClientNonScriptable2_put_BinarySalt(This,pSalt)	\
    ( (This)->lpVtbl -> put_BinarySalt(This,pSalt) ) 

#define IMsRdpClientNonScriptable2_get_BinarySalt(This,pSalt)	\
    ( (This)->lpVtbl -> get_BinarySalt(This,pSalt) ) 

#define IMsRdpClientNonScriptable2_ResetPassword(This)	\
    ( (This)->lpVtbl -> ResetPassword(This) ) 


#define IMsRdpClientNonScriptable2_NotifyRedirectDeviceChange(This,wParam,lParam)	\
    ( (This)->lpVtbl -> NotifyRedirectDeviceChange(This,wParam,lParam) ) 

#define IMsRdpClientNonScriptable2_SendKeys(This,numKeys,pbArrayKeyUp,plKeyData)	\
    ( (This)->lpVtbl -> SendKeys(This,numKeys,pbArrayKeyUp,plKeyData) ) 


#define IMsRdpClientNonScriptable2_put_UIParentWindowHandle(This,phwndUIParentWindowHandle)	\
    ( (This)->lpVtbl -> put_UIParentWindowHandle(This,phwndUIParentWindowHandle) ) 

#define IMsRdpClientNonScriptable2_get_UIParentWindowHandle(This,phwndUIParentWindowHandle)	\
    ( (This)->lpVtbl -> get_UIParentWindowHandle(This,phwndUIParentWindowHandle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsRdpClientNonScriptable2_INTERFACE_DEFINED__ */


#ifndef __IMsTscAdvancedSettings_INTERFACE_DEFINED__
#define __IMsTscAdvancedSettings_INTERFACE_DEFINED__

/* interface IMsTscAdvancedSettings */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsTscAdvancedSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("809945CC-4B3B-4A92-A6B0-DBF9B5F2EF2D")
    IMsTscAdvancedSettings : public IDispatch
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Compress( 
            /* [in] */ long pcompress) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Compress( 
            /* [retval][out] */ long *pcompress) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapPeristence( 
            /* [in] */ long pbitmapPeristence) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapPeristence( 
            /* [retval][out] */ long *pbitmapPeristence) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_allowBackgroundInput( 
            /* [in] */ long pallowBackgroundInput) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_allowBackgroundInput( 
            /* [retval][out] */ long *pallowBackgroundInput) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyBoardLayoutStr( 
            /* [in] */ BSTR rhs) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PluginDlls( 
            /* [in] */ BSTR rhs) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_IconFile( 
            /* [in] */ BSTR rhs) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_IconIndex( 
            /* [in] */ long rhs) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ContainerHandledFullScreen( 
            /* [in] */ long pContainerHandledFullScreen) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ContainerHandledFullScreen( 
            /* [retval][out] */ long *pContainerHandledFullScreen) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisableRdpdr( 
            /* [in] */ long pDisableRdpdr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisableRdpdr( 
            /* [retval][out] */ long *pDisableRdpdr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsTscAdvancedSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsTscAdvancedSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsTscAdvancedSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsTscAdvancedSettings * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ long pcompress);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( 
            IMsTscAdvancedSettings * This,
            /* [retval][out] */ long *pcompress);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ long pbitmapPeristence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( 
            IMsTscAdvancedSettings * This,
            /* [retval][out] */ long *pbitmapPeristence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ long pallowBackgroundInput);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( 
            IMsTscAdvancedSettings * This,
            /* [retval][out] */ long *pallowBackgroundInput);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ long rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ long pContainerHandledFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( 
            IMsTscAdvancedSettings * This,
            /* [retval][out] */ long *pContainerHandledFullScreen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( 
            IMsTscAdvancedSettings * This,
            /* [in] */ long pDisableRdpdr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( 
            IMsTscAdvancedSettings * This,
            /* [retval][out] */ long *pDisableRdpdr);
        
        END_INTERFACE
    } IMsTscAdvancedSettingsVtbl;

    interface IMsTscAdvancedSettings
    {
        CONST_VTBL struct IMsTscAdvancedSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsTscAdvancedSettings_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsTscAdvancedSettings_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsTscAdvancedSettings_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsTscAdvancedSettings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsTscAdvancedSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsTscAdvancedSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsTscAdvancedSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsTscAdvancedSettings_put_Compress(This,pcompress)	\
    ( (This)->lpVtbl -> put_Compress(This,pcompress) ) 

#define IMsTscAdvancedSettings_get_Compress(This,pcompress)	\
    ( (This)->lpVtbl -> get_Compress(This,pcompress) ) 

#define IMsTscAdvancedSettings_put_BitmapPeristence(This,pbitmapPeristence)	\
    ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) 

#define IMsTscAdvancedSettings_get_BitmapPeristence(This,pbitmapPeristence)	\
    ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) 

#define IMsTscAdvancedSettings_put_allowBackgroundInput(This,pallowBackgroundInput)	\
    ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) 

#define IMsTscAdvancedSettings_get_allowBackgroundInput(This,pallowBackgroundInput)	\
    ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) 

#define IMsTscAdvancedSettings_put_KeyBoardLayoutStr(This,rhs)	\
    ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) 

#define IMsTscAdvancedSettings_put_PluginDlls(This,rhs)	\
    ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) 

#define IMsTscAdvancedSettings_put_IconFile(This,rhs)	\
    ( (This)->lpVtbl -> put_IconFile(This,rhs) ) 

#define IMsTscAdvancedSettings_put_IconIndex(This,rhs)	\
    ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) 

#define IMsTscAdvancedSettings_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen)	\
    ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) 

#define IMsTscAdvancedSettings_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen)	\
    ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) 

#define IMsTscAdvancedSettings_put_DisableRdpdr(This,pDisableRdpdr)	\
    ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) 

#define IMsTscAdvancedSettings_get_DisableRdpdr(This,pDisableRdpdr)	\
    ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsTscAdvancedSettings_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClientAdvancedSettings_INTERFACE_DEFINED__
#define __IMsRdpClientAdvancedSettings_INTERFACE_DEFINED__

/* interface IMsRdpClientAdvancedSettings */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsRdpClientAdvancedSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3C65B4AB-12B3-465B-ACD4-B8DAD3BFF9E2")
    IMsRdpClientAdvancedSettings : public IMsTscAdvancedSettings
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SmoothScroll( 
            /* [in] */ long psmoothScroll) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SmoothScroll( 
            /* [retval][out] */ long *psmoothScroll) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AcceleratorPassthrough( 
            /* [in] */ long pacceleratorPassthrough) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AcceleratorPassthrough( 
            /* [retval][out] */ long *pacceleratorPassthrough) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShadowBitmap( 
            /* [in] */ long pshadowBitmap) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShadowBitmap( 
            /* [retval][out] */ long *pshadowBitmap) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TransportType( 
            /* [in] */ long ptransportType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TransportType( 
            /* [retval][out] */ long *ptransportType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SasSequence( 
            /* [in] */ long psasSequence) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SasSequence( 
            /* [retval][out] */ long *psasSequence) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EncryptionEnabled( 
            /* [in] */ long pencryptionEnabled) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EncryptionEnabled( 
            /* [retval][out] */ long *pencryptionEnabled) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DedicatedTerminal( 
            /* [in] */ long pdedicatedTerminal) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DedicatedTerminal( 
            /* [retval][out] */ long *pdedicatedTerminal) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RDPPort( 
            /* [in] */ long prdpPort) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RDPPort( 
            /* [retval][out] */ long *prdpPort) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EnableMouse( 
            /* [in] */ long penableMouse) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EnableMouse( 
            /* [retval][out] */ long *penableMouse) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisableCtrlAltDel( 
            /* [in] */ long pdisableCtrlAltDel) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisableCtrlAltDel( 
            /* [retval][out] */ long *pdisableCtrlAltDel) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EnableWindowsKey( 
            /* [in] */ long penableWindowsKey) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EnableWindowsKey( 
            /* [retval][out] */ long *penableWindowsKey) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DoubleClickDetect( 
            /* [in] */ long pdoubleClickDetect) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DoubleClickDetect( 
            /* [retval][out] */ long *pdoubleClickDetect) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MaximizeShell( 
            /* [in] */ long pmaximizeShell) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MaximizeShell( 
            /* [retval][out] */ long *pmaximizeShell) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyFullScreen( 
            /* [in] */ long photKeyFullScreen) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyFullScreen( 
            /* [retval][out] */ long *photKeyFullScreen) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyCtrlEsc( 
            /* [in] */ long photKeyCtrlEsc) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyCtrlEsc( 
            /* [retval][out] */ long *photKeyCtrlEsc) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltEsc( 
            /* [in] */ long photKeyAltEsc) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltEsc( 
            /* [retval][out] */ long *photKeyAltEsc) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltTab( 
            /* [in] */ long photKeyAltTab) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltTab( 
            /* [retval][out] */ long *photKeyAltTab) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltShiftTab( 
            /* [in] */ long photKeyAltShiftTab) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltShiftTab( 
            /* [retval][out] */ long *photKeyAltShiftTab) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyAltSpace( 
            /* [in] */ long photKeyAltSpace) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyAltSpace( 
            /* [retval][out] */ long *photKeyAltSpace) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HotKeyCtrlAltDel( 
            /* [in] */ long photKeyCtrlAltDel) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HotKeyCtrlAltDel( 
            /* [retval][out] */ long *photKeyCtrlAltDel) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_orderDrawThreshold( 
            /* [in] */ long porderDrawThreshold) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_orderDrawThreshold( 
            /* [retval][out] */ long *porderDrawThreshold) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapCacheSize( 
            /* [in] */ long pbitmapCacheSize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapCacheSize( 
            /* [retval][out] */ long *pbitmapCacheSize) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapVirtualCacheSize( 
            /* [in] */ long pbitmapVirtualCacheSize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapVirtualCacheSize( 
            /* [retval][out] */ long *pbitmapVirtualCacheSize) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ScaleBitmapCachesByBPP( 
            /* [in] */ long pbScale) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ScaleBitmapCachesByBPP( 
            /* [retval][out] */ long *pbScale) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NumBitmapCaches( 
            /* [in] */ long pnumBitmapCaches) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NumBitmapCaches( 
            /* [retval][out] */ long *pnumBitmapCaches) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CachePersistenceActive( 
            /* [in] */ long pcachePersistenceActive) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CachePersistenceActive( 
            /* [retval][out] */ long *pcachePersistenceActive) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PersistCacheDirectory( 
            /* [in] */ BSTR rhs) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_brushSupportLevel( 
            /* [in] */ long pbrushSupportLevel) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_brushSupportLevel( 
            /* [retval][out] */ long *pbrushSupportLevel) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_minInputSendInterval( 
            /* [in] */ long pminInputSendInterval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_minInputSendInterval( 
            /* [retval][out] */ long *pminInputSendInterval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_InputEventsAtOnce( 
            /* [in] */ long pinputEventsAtOnce) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_InputEventsAtOnce( 
            /* [retval][out] */ long *pinputEventsAtOnce) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_maxEventCount( 
            /* [in] */ long pmaxEventCount) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_maxEventCount( 
            /* [retval][out] */ long *pmaxEventCount) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_keepAliveInterval( 
            /* [in] */ long pkeepAliveInterval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_keepAliveInterval( 
            /* [retval][out] */ long *pkeepAliveInterval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_shutdownTimeout( 
            /* [in] */ long pshutdownTimeout) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_shutdownTimeout( 
            /* [retval][out] */ long *pshutdownTimeout) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_overallConnectionTimeout( 
            /* [in] */ long poverallConnectionTimeout) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_overallConnectionTimeout( 
            /* [retval][out] */ long *poverallConnectionTimeout) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_singleConnectionTimeout( 
            /* [in] */ long psingleConnectionTimeout) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_singleConnectionTimeout( 
            /* [retval][out] */ long *psingleConnectionTimeout) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardType( 
            /* [in] */ long pkeyboardType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardType( 
            /* [retval][out] */ long *pkeyboardType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardSubType( 
            /* [in] */ long pkeyboardSubType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardSubType( 
            /* [retval][out] */ long *pkeyboardSubType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardFunctionKey( 
            /* [in] */ long pkeyboardFunctionKey) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardFunctionKey( 
            /* [retval][out] */ long *pkeyboardFunctionKey) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WinceFixedPalette( 
            /* [in] */ long pwinceFixedPalette) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WinceFixedPalette( 
            /* [retval][out] */ long *pwinceFixedPalette) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectToServerConsole( 
            /* [in] */ VARIANT_BOOL pConnectToConsole) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectToServerConsole( 
            /* [retval][out] */ VARIANT_BOOL *pConnectToConsole) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapPersistence( 
            /* [in] */ long pbitmapPersistence) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapPersistence( 
            /* [retval][out] */ long *pbitmapPersistence) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MinutesToIdleTimeout( 
            /* [in] */ long pminutesToIdleTimeout) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinutesToIdleTimeout( 
            /* [retval][out] */ long *pminutesToIdleTimeout) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SmartSizing( 
            /* [in] */ VARIANT_BOOL pfSmartSizing) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SmartSizing( 
            /* [retval][out] */ VARIANT_BOOL *pfSmartSizing) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RdpdrLocalPrintingDocName( 
            /* [in] */ BSTR pLocalPrintingDocName) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RdpdrLocalPrintingDocName( 
            /* [retval][out] */ BSTR *pLocalPrintingDocName) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RdpdrClipCleanTempDirString( 
            /* [in] */ BSTR clipCleanTempDirString) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RdpdrClipCleanTempDirString( 
            /* [retval][out] */ BSTR *clipCleanTempDirString) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RdpdrClipPasteInfoString( 
            /* [in] */ BSTR clipPasteInfoString) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RdpdrClipPasteInfoString( 
            /* [retval][out] */ BSTR *clipPasteInfoString) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ClearTextPassword( 
            /* [in] */ BSTR rhs) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayConnectionBar( 
            /* [in] */ VARIANT_BOOL pDisplayConnectionBar) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayConnectionBar( 
            /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PinConnectionBar( 
            /* [in] */ VARIANT_BOOL pPinConnectionBar) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PinConnectionBar( 
            /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_GrabFocusOnConnect( 
            /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GrabFocusOnConnect( 
            /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LoadBalanceInfo( 
            /* [in] */ BSTR pLBInfo) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LoadBalanceInfo( 
            /* [retval][out] */ BSTR *pLBInfo) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectDrives( 
            /* [in] */ VARIANT_BOOL pRedirectDrives) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectDrives( 
            /* [retval][out] */ VARIANT_BOOL *pRedirectDrives) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectPrinters( 
            /* [in] */ VARIANT_BOOL pRedirectPrinters) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectPrinters( 
            /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectPorts( 
            /* [in] */ VARIANT_BOOL pRedirectPorts) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectPorts( 
            /* [retval][out] */ VARIANT_BOOL *pRedirectPorts) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RedirectSmartCards( 
            /* [in] */ VARIANT_BOOL pRedirectSmartCards) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RedirectSmartCards( 
            /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapVirtualCache16BppSize( 
            /* [in] */ long pBitmapVirtualCache16BppSize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapVirtualCache16BppSize( 
            /* [retval][out] */ long *pBitmapVirtualCache16BppSize) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapVirtualCache24BppSize( 
            /* [in] */ long pBitmapVirtualCache24BppSize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapVirtualCache24BppSize( 
            /* [retval][out] */ long *pBitmapVirtualCache24BppSize) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PerformanceFlags( 
            /* [in] */ long pDisableList) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PerformanceFlags( 
            /* [retval][out] */ long *pDisableList) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectWithEndpoint( 
            /* [in] */ VARIANT *rhs) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NotifyTSPublicKey( 
            /* [in] */ VARIANT_BOOL pfNotify) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NotifyTSPublicKey( 
            /* [retval][out] */ VARIANT_BOOL *pfNotify) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClientAdvancedSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClientAdvancedSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClientAdvancedSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsRdpClientAdvancedSettings * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pcompress);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pcompress);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pbitmapPeristence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pbitmapPeristence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pallowBackgroundInput);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pallowBackgroundInput);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pContainerHandledFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pContainerHandledFullScreen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pDisableRdpdr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pDisableRdpdr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long psmoothScroll);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *psmoothScroll);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pacceleratorPassthrough);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pacceleratorPassthrough);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pshadowBitmap);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pshadowBitmap);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long ptransportType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *ptransportType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long psasSequence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *psasSequence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pencryptionEnabled);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pencryptionEnabled);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pdedicatedTerminal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pdedicatedTerminal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long prdpPort);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *prdpPort);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long penableMouse);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *penableMouse);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pdisableCtrlAltDel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pdisableCtrlAltDel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long penableWindowsKey);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *penableWindowsKey);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pdoubleClickDetect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pdoubleClickDetect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pmaximizeShell);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pmaximizeShell);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long photKeyFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *photKeyFullScreen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long photKeyCtrlEsc);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *photKeyCtrlEsc);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long photKeyAltEsc);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *photKeyAltEsc);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long photKeyAltTab);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *photKeyAltTab);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long photKeyAltShiftTab);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *photKeyAltShiftTab);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long photKeyAltSpace);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *photKeyAltSpace);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long photKeyCtrlAltDel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *photKeyCtrlAltDel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long porderDrawThreshold);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *porderDrawThreshold);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pbitmapCacheSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pbitmapCacheSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pbitmapVirtualCacheSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pbitmapVirtualCacheSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pbScale);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pbScale);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pnumBitmapCaches);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pnumBitmapCaches);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pcachePersistenceActive);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pcachePersistenceActive);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pbrushSupportLevel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pbrushSupportLevel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pminInputSendInterval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pminInputSendInterval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pinputEventsAtOnce);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pinputEventsAtOnce);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pmaxEventCount);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pmaxEventCount);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pkeepAliveInterval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pkeepAliveInterval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pshutdownTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pshutdownTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long poverallConnectionTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *poverallConnectionTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long psingleConnectionTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *psingleConnectionTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pkeyboardType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pkeyboardType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pkeyboardSubType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pkeyboardSubType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pkeyboardFunctionKey);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pkeyboardFunctionKey);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pwinceFixedPalette);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pwinceFixedPalette);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT_BOOL pConnectToConsole);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pConnectToConsole);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pbitmapPersistence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pbitmapPersistence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pminutesToIdleTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pminutesToIdleTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT_BOOL pfSmartSizing);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pfSmartSizing);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ BSTR pLocalPrintingDocName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ BSTR *pLocalPrintingDocName);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ BSTR clipCleanTempDirString);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ BSTR *clipCleanTempDirString);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ BSTR clipPasteInfoString);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ BSTR *clipPasteInfoString);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT_BOOL pDisplayConnectionBar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT_BOOL pPinConnectionBar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ BSTR pLBInfo);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ BSTR *pLBInfo);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT_BOOL pRedirectDrives);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectDrives);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT_BOOL pRedirectPrinters);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT_BOOL pRedirectPorts);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectPorts);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT_BOOL pRedirectSmartCards);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pBitmapVirtualCache16BppSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pBitmapVirtualCache16BppSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pBitmapVirtualCache24BppSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pBitmapVirtualCache24BppSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ long pDisableList);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ long *pDisableList);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT *rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( 
            IMsRdpClientAdvancedSettings * This,
            /* [in] */ VARIANT_BOOL pfNotify);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( 
            IMsRdpClientAdvancedSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pfNotify);
        
        END_INTERFACE
    } IMsRdpClientAdvancedSettingsVtbl;

    interface IMsRdpClientAdvancedSettings
    {
        CONST_VTBL struct IMsRdpClientAdvancedSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClientAdvancedSettings_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClientAdvancedSettings_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClientAdvancedSettings_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClientAdvancedSettings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsRdpClientAdvancedSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsRdpClientAdvancedSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsRdpClientAdvancedSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsRdpClientAdvancedSettings_put_Compress(This,pcompress)	\
    ( (This)->lpVtbl -> put_Compress(This,pcompress) ) 

#define IMsRdpClientAdvancedSettings_get_Compress(This,pcompress)	\
    ( (This)->lpVtbl -> get_Compress(This,pcompress) ) 

#define IMsRdpClientAdvancedSettings_put_BitmapPeristence(This,pbitmapPeristence)	\
    ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) 

#define IMsRdpClientAdvancedSettings_get_BitmapPeristence(This,pbitmapPeristence)	\
    ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) 

#define IMsRdpClientAdvancedSettings_put_allowBackgroundInput(This,pallowBackgroundInput)	\
    ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) 

#define IMsRdpClientAdvancedSettings_get_allowBackgroundInput(This,pallowBackgroundInput)	\
    ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) 

#define IMsRdpClientAdvancedSettings_put_KeyBoardLayoutStr(This,rhs)	\
    ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) 

#define IMsRdpClientAdvancedSettings_put_PluginDlls(This,rhs)	\
    ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) 

#define IMsRdpClientAdvancedSettings_put_IconFile(This,rhs)	\
    ( (This)->lpVtbl -> put_IconFile(This,rhs) ) 

#define IMsRdpClientAdvancedSettings_put_IconIndex(This,rhs)	\
    ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) 

#define IMsRdpClientAdvancedSettings_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen)	\
    ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) 

#define IMsRdpClientAdvancedSettings_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen)	\
    ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) 

#define IMsRdpClientAdvancedSettings_put_DisableRdpdr(This,pDisableRdpdr)	\
    ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) 

#define IMsRdpClientAdvancedSettings_get_DisableRdpdr(This,pDisableRdpdr)	\
    ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) 


#define IMsRdpClientAdvancedSettings_put_SmoothScroll(This,psmoothScroll)	\
    ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) 

#define IMsRdpClientAdvancedSettings_get_SmoothScroll(This,psmoothScroll)	\
    ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) 

#define IMsRdpClientAdvancedSettings_put_AcceleratorPassthrough(This,pacceleratorPassthrough)	\
    ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) 

#define IMsRdpClientAdvancedSettings_get_AcceleratorPassthrough(This,pacceleratorPassthrough)	\
    ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) 

#define IMsRdpClientAdvancedSettings_put_ShadowBitmap(This,pshadowBitmap)	\
    ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) 

#define IMsRdpClientAdvancedSettings_get_ShadowBitmap(This,pshadowBitmap)	\
    ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) 

#define IMsRdpClientAdvancedSettings_put_TransportType(This,ptransportType)	\
    ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) 

#define IMsRdpClientAdvancedSettings_get_TransportType(This,ptransportType)	\
    ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) 

#define IMsRdpClientAdvancedSettings_put_SasSequence(This,psasSequence)	\
    ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) 

#define IMsRdpClientAdvancedSettings_get_SasSequence(This,psasSequence)	\
    ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) 

#define IMsRdpClientAdvancedSettings_put_EncryptionEnabled(This,pencryptionEnabled)	\
    ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) 

#define IMsRdpClientAdvancedSettings_get_EncryptionEnabled(This,pencryptionEnabled)	\
    ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) 

#define IMsRdpClientAdvancedSettings_put_DedicatedTerminal(This,pdedicatedTerminal)	\
    ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) 

#define IMsRdpClientAdvancedSettings_get_DedicatedTerminal(This,pdedicatedTerminal)	\
    ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) 

#define IMsRdpClientAdvancedSettings_put_RDPPort(This,prdpPort)	\
    ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) 

#define IMsRdpClientAdvancedSettings_get_RDPPort(This,prdpPort)	\
    ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) 

#define IMsRdpClientAdvancedSettings_put_EnableMouse(This,penableMouse)	\
    ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) 

#define IMsRdpClientAdvancedSettings_get_EnableMouse(This,penableMouse)	\
    ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) 

#define IMsRdpClientAdvancedSettings_put_DisableCtrlAltDel(This,pdisableCtrlAltDel)	\
    ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings_get_DisableCtrlAltDel(This,pdisableCtrlAltDel)	\
    ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings_put_EnableWindowsKey(This,penableWindowsKey)	\
    ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) 

#define IMsRdpClientAdvancedSettings_get_EnableWindowsKey(This,penableWindowsKey)	\
    ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) 

#define IMsRdpClientAdvancedSettings_put_DoubleClickDetect(This,pdoubleClickDetect)	\
    ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) 

#define IMsRdpClientAdvancedSettings_get_DoubleClickDetect(This,pdoubleClickDetect)	\
    ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) 

#define IMsRdpClientAdvancedSettings_put_MaximizeShell(This,pmaximizeShell)	\
    ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) 

#define IMsRdpClientAdvancedSettings_get_MaximizeShell(This,pmaximizeShell)	\
    ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) 

#define IMsRdpClientAdvancedSettings_put_HotKeyFullScreen(This,photKeyFullScreen)	\
    ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) 

#define IMsRdpClientAdvancedSettings_get_HotKeyFullScreen(This,photKeyFullScreen)	\
    ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) 

#define IMsRdpClientAdvancedSettings_put_HotKeyCtrlEsc(This,photKeyCtrlEsc)	\
    ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) 

#define IMsRdpClientAdvancedSettings_get_HotKeyCtrlEsc(This,photKeyCtrlEsc)	\
    ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) 

#define IMsRdpClientAdvancedSettings_put_HotKeyAltEsc(This,photKeyAltEsc)	\
    ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) 

#define IMsRdpClientAdvancedSettings_get_HotKeyAltEsc(This,photKeyAltEsc)	\
    ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) 

#define IMsRdpClientAdvancedSettings_put_HotKeyAltTab(This,photKeyAltTab)	\
    ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) 

#define IMsRdpClientAdvancedSettings_get_HotKeyAltTab(This,photKeyAltTab)	\
    ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) 

#define IMsRdpClientAdvancedSettings_put_HotKeyAltShiftTab(This,photKeyAltShiftTab)	\
    ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) 

#define IMsRdpClientAdvancedSettings_get_HotKeyAltShiftTab(This,photKeyAltShiftTab)	\
    ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) 

#define IMsRdpClientAdvancedSettings_put_HotKeyAltSpace(This,photKeyAltSpace)	\
    ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) 

#define IMsRdpClientAdvancedSettings_get_HotKeyAltSpace(This,photKeyAltSpace)	\
    ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) 

#define IMsRdpClientAdvancedSettings_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel)	\
    ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel)	\
    ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings_put_orderDrawThreshold(This,porderDrawThreshold)	\
    ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) 

#define IMsRdpClientAdvancedSettings_get_orderDrawThreshold(This,porderDrawThreshold)	\
    ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) 

#define IMsRdpClientAdvancedSettings_put_BitmapCacheSize(This,pbitmapCacheSize)	\
    ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) 

#define IMsRdpClientAdvancedSettings_get_BitmapCacheSize(This,pbitmapCacheSize)	\
    ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) 

#define IMsRdpClientAdvancedSettings_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) 

#define IMsRdpClientAdvancedSettings_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) 

#define IMsRdpClientAdvancedSettings_put_ScaleBitmapCachesByBPP(This,pbScale)	\
    ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) 

#define IMsRdpClientAdvancedSettings_get_ScaleBitmapCachesByBPP(This,pbScale)	\
    ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) 

#define IMsRdpClientAdvancedSettings_put_NumBitmapCaches(This,pnumBitmapCaches)	\
    ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) 

#define IMsRdpClientAdvancedSettings_get_NumBitmapCaches(This,pnumBitmapCaches)	\
    ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) 

#define IMsRdpClientAdvancedSettings_put_CachePersistenceActive(This,pcachePersistenceActive)	\
    ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) 

#define IMsRdpClientAdvancedSettings_get_CachePersistenceActive(This,pcachePersistenceActive)	\
    ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) 

#define IMsRdpClientAdvancedSettings_put_PersistCacheDirectory(This,rhs)	\
    ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) 

#define IMsRdpClientAdvancedSettings_put_brushSupportLevel(This,pbrushSupportLevel)	\
    ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) 

#define IMsRdpClientAdvancedSettings_get_brushSupportLevel(This,pbrushSupportLevel)	\
    ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) 

#define IMsRdpClientAdvancedSettings_put_minInputSendInterval(This,pminInputSendInterval)	\
    ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) 

#define IMsRdpClientAdvancedSettings_get_minInputSendInterval(This,pminInputSendInterval)	\
    ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) 

#define IMsRdpClientAdvancedSettings_put_InputEventsAtOnce(This,pinputEventsAtOnce)	\
    ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) 

#define IMsRdpClientAdvancedSettings_get_InputEventsAtOnce(This,pinputEventsAtOnce)	\
    ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) 

#define IMsRdpClientAdvancedSettings_put_maxEventCount(This,pmaxEventCount)	\
    ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) 

#define IMsRdpClientAdvancedSettings_get_maxEventCount(This,pmaxEventCount)	\
    ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) 

#define IMsRdpClientAdvancedSettings_put_keepAliveInterval(This,pkeepAliveInterval)	\
    ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) 

#define IMsRdpClientAdvancedSettings_get_keepAliveInterval(This,pkeepAliveInterval)	\
    ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) 

#define IMsRdpClientAdvancedSettings_put_shutdownTimeout(This,pshutdownTimeout)	\
    ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) 

#define IMsRdpClientAdvancedSettings_get_shutdownTimeout(This,pshutdownTimeout)	\
    ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) 

#define IMsRdpClientAdvancedSettings_put_overallConnectionTimeout(This,poverallConnectionTimeout)	\
    ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings_get_overallConnectionTimeout(This,poverallConnectionTimeout)	\
    ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings_put_singleConnectionTimeout(This,psingleConnectionTimeout)	\
    ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings_get_singleConnectionTimeout(This,psingleConnectionTimeout)	\
    ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings_put_KeyboardType(This,pkeyboardType)	\
    ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) 

#define IMsRdpClientAdvancedSettings_get_KeyboardType(This,pkeyboardType)	\
    ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) 

#define IMsRdpClientAdvancedSettings_put_KeyboardSubType(This,pkeyboardSubType)	\
    ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) 

#define IMsRdpClientAdvancedSettings_get_KeyboardSubType(This,pkeyboardSubType)	\
    ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) 

#define IMsRdpClientAdvancedSettings_put_KeyboardFunctionKey(This,pkeyboardFunctionKey)	\
    ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) 

#define IMsRdpClientAdvancedSettings_get_KeyboardFunctionKey(This,pkeyboardFunctionKey)	\
    ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) 

#define IMsRdpClientAdvancedSettings_put_WinceFixedPalette(This,pwinceFixedPalette)	\
    ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) 

#define IMsRdpClientAdvancedSettings_get_WinceFixedPalette(This,pwinceFixedPalette)	\
    ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) 

#define IMsRdpClientAdvancedSettings_put_ConnectToServerConsole(This,pConnectToConsole)	\
    ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) 

#define IMsRdpClientAdvancedSettings_get_ConnectToServerConsole(This,pConnectToConsole)	\
    ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) 

#define IMsRdpClientAdvancedSettings_put_BitmapPersistence(This,pbitmapPersistence)	\
    ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) 

#define IMsRdpClientAdvancedSettings_get_BitmapPersistence(This,pbitmapPersistence)	\
    ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) 

#define IMsRdpClientAdvancedSettings_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout)	\
    ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) 

#define IMsRdpClientAdvancedSettings_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout)	\
    ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) 

#define IMsRdpClientAdvancedSettings_put_SmartSizing(This,pfSmartSizing)	\
    ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) 

#define IMsRdpClientAdvancedSettings_get_SmartSizing(This,pfSmartSizing)	\
    ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) 

#define IMsRdpClientAdvancedSettings_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName)	\
    ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) 

#define IMsRdpClientAdvancedSettings_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName)	\
    ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) 

#define IMsRdpClientAdvancedSettings_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString)	\
    ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) 

#define IMsRdpClientAdvancedSettings_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString)	\
    ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) 

#define IMsRdpClientAdvancedSettings_put_RdpdrClipPasteInfoString(This,clipPasteInfoString)	\
    ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) 

#define IMsRdpClientAdvancedSettings_get_RdpdrClipPasteInfoString(This,clipPasteInfoString)	\
    ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) 

#define IMsRdpClientAdvancedSettings_put_ClearTextPassword(This,rhs)	\
    ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) 

#define IMsRdpClientAdvancedSettings_put_DisplayConnectionBar(This,pDisplayConnectionBar)	\
    ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) 

#define IMsRdpClientAdvancedSettings_get_DisplayConnectionBar(This,pDisplayConnectionBar)	\
    ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) 

#define IMsRdpClientAdvancedSettings_put_PinConnectionBar(This,pPinConnectionBar)	\
    ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) 

#define IMsRdpClientAdvancedSettings_get_PinConnectionBar(This,pPinConnectionBar)	\
    ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) 

#define IMsRdpClientAdvancedSettings_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect)	\
    ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) 

#define IMsRdpClientAdvancedSettings_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect)	\
    ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) 

#define IMsRdpClientAdvancedSettings_put_LoadBalanceInfo(This,pLBInfo)	\
    ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) 

#define IMsRdpClientAdvancedSettings_get_LoadBalanceInfo(This,pLBInfo)	\
    ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) 

#define IMsRdpClientAdvancedSettings_put_RedirectDrives(This,pRedirectDrives)	\
    ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) 

#define IMsRdpClientAdvancedSettings_get_RedirectDrives(This,pRedirectDrives)	\
    ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) 

#define IMsRdpClientAdvancedSettings_put_RedirectPrinters(This,pRedirectPrinters)	\
    ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) 

#define IMsRdpClientAdvancedSettings_get_RedirectPrinters(This,pRedirectPrinters)	\
    ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) 

#define IMsRdpClientAdvancedSettings_put_RedirectPorts(This,pRedirectPorts)	\
    ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) 

#define IMsRdpClientAdvancedSettings_get_RedirectPorts(This,pRedirectPorts)	\
    ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) 

#define IMsRdpClientAdvancedSettings_put_RedirectSmartCards(This,pRedirectSmartCards)	\
    ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) 

#define IMsRdpClientAdvancedSettings_get_RedirectSmartCards(This,pRedirectSmartCards)	\
    ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) 

#define IMsRdpClientAdvancedSettings_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) 

#define IMsRdpClientAdvancedSettings_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) 

#define IMsRdpClientAdvancedSettings_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) 

#define IMsRdpClientAdvancedSettings_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) 

#define IMsRdpClientAdvancedSettings_put_PerformanceFlags(This,pDisableList)	\
    ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) 

#define IMsRdpClientAdvancedSettings_get_PerformanceFlags(This,pDisableList)	\
    ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) 

#define IMsRdpClientAdvancedSettings_put_ConnectWithEndpoint(This,rhs)	\
    ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) 

#define IMsRdpClientAdvancedSettings_put_NotifyTSPublicKey(This,pfNotify)	\
    ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) 

#define IMsRdpClientAdvancedSettings_get_NotifyTSPublicKey(This,pfNotify)	\
    ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_RedirectSmartCards_Proxy( 
    IMsRdpClientAdvancedSettings * This,
    /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards);


void __RPC_STUB IMsRdpClientAdvancedSettings_get_RedirectSmartCards_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_BitmapVirtualCache16BppSize_Proxy( 
    IMsRdpClientAdvancedSettings * This,
    /* [in] */ long pBitmapVirtualCache16BppSize);


void __RPC_STUB IMsRdpClientAdvancedSettings_put_BitmapVirtualCache16BppSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_BitmapVirtualCache16BppSize_Proxy( 
    IMsRdpClientAdvancedSettings * This,
    /* [retval][out] */ long *pBitmapVirtualCache16BppSize);


void __RPC_STUB IMsRdpClientAdvancedSettings_get_BitmapVirtualCache16BppSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_BitmapVirtualCache24BppSize_Proxy( 
    IMsRdpClientAdvancedSettings * This,
    /* [in] */ long pBitmapVirtualCache24BppSize);


void __RPC_STUB IMsRdpClientAdvancedSettings_put_BitmapVirtualCache24BppSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_BitmapVirtualCache24BppSize_Proxy( 
    IMsRdpClientAdvancedSettings * This,
    /* [retval][out] */ long *pBitmapVirtualCache24BppSize);


void __RPC_STUB IMsRdpClientAdvancedSettings_get_BitmapVirtualCache24BppSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_PerformanceFlags_Proxy( 
    IMsRdpClientAdvancedSettings * This,
    /* [in] */ long pDisableList);


void __RPC_STUB IMsRdpClientAdvancedSettings_put_PerformanceFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_PerformanceFlags_Proxy( 
    IMsRdpClientAdvancedSettings * This,
    /* [retval][out] */ long *pDisableList);


void __RPC_STUB IMsRdpClientAdvancedSettings_get_PerformanceFlags_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_ConnectWithEndpoint_Proxy( 
    IMsRdpClientAdvancedSettings * This,
    /* [in] */ VARIANT *rhs);


void __RPC_STUB IMsRdpClientAdvancedSettings_put_ConnectWithEndpoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_put_NotifyTSPublicKey_Proxy( 
    IMsRdpClientAdvancedSettings * This,
    /* [in] */ VARIANT_BOOL pfNotify);


void __RPC_STUB IMsRdpClientAdvancedSettings_put_NotifyTSPublicKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings_get_NotifyTSPublicKey_Proxy( 
    IMsRdpClientAdvancedSettings * This,
    /* [retval][out] */ VARIANT_BOOL *pfNotify);


void __RPC_STUB IMsRdpClientAdvancedSettings_get_NotifyTSPublicKey_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMsRdpClientAdvancedSettings_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClientAdvancedSettings2_INTERFACE_DEFINED__
#define __IMsRdpClientAdvancedSettings2_INTERFACE_DEFINED__

/* interface IMsRdpClientAdvancedSettings2 */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsRdpClientAdvancedSettings2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9AC42117-2B76-4320-AA44-0E616AB8437B")
    IMsRdpClientAdvancedSettings2 : public IMsRdpClientAdvancedSettings
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CanAutoReconnect( 
            /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EnableAutoReconnect( 
            /* [in] */ VARIANT_BOOL pfEnableAutoReconnect) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EnableAutoReconnect( 
            /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MaxReconnectAttempts( 
            /* [in] */ long pMaxReconnectAttempts) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MaxReconnectAttempts( 
            /* [retval][out] */ long *pMaxReconnectAttempts) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClientAdvancedSettings2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClientAdvancedSettings2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClientAdvancedSettings2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pcompress);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pcompress);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pbitmapPeristence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pbitmapPeristence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pallowBackgroundInput);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pallowBackgroundInput);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pContainerHandledFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pContainerHandledFullScreen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pDisableRdpdr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pDisableRdpdr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long psmoothScroll);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *psmoothScroll);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pacceleratorPassthrough);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pacceleratorPassthrough);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pshadowBitmap);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pshadowBitmap);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long ptransportType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *ptransportType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long psasSequence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *psasSequence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pencryptionEnabled);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pencryptionEnabled);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pdedicatedTerminal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pdedicatedTerminal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long prdpPort);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *prdpPort);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long penableMouse);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *penableMouse);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pdisableCtrlAltDel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pdisableCtrlAltDel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long penableWindowsKey);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *penableWindowsKey);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pdoubleClickDetect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pdoubleClickDetect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pmaximizeShell);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pmaximizeShell);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long photKeyFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *photKeyFullScreen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long photKeyCtrlEsc);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *photKeyCtrlEsc);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long photKeyAltEsc);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *photKeyAltEsc);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long photKeyAltTab);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *photKeyAltTab);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long photKeyAltShiftTab);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *photKeyAltShiftTab);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long photKeyAltSpace);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *photKeyAltSpace);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long photKeyCtrlAltDel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *photKeyCtrlAltDel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long porderDrawThreshold);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *porderDrawThreshold);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pbitmapCacheSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pbitmapCacheSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pbitmapVirtualCacheSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pbitmapVirtualCacheSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pbScale);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pbScale);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pnumBitmapCaches);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pnumBitmapCaches);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pcachePersistenceActive);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pcachePersistenceActive);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pbrushSupportLevel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pbrushSupportLevel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pminInputSendInterval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pminInputSendInterval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pinputEventsAtOnce);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pinputEventsAtOnce);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pmaxEventCount);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pmaxEventCount);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pkeepAliveInterval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pkeepAliveInterval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pshutdownTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pshutdownTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long poverallConnectionTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *poverallConnectionTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long psingleConnectionTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *psingleConnectionTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pkeyboardType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pkeyboardType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pkeyboardSubType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pkeyboardSubType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pkeyboardFunctionKey);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pkeyboardFunctionKey);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pwinceFixedPalette);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pwinceFixedPalette);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pConnectToConsole);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pConnectToConsole);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pbitmapPersistence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pbitmapPersistence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pminutesToIdleTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pminutesToIdleTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pfSmartSizing);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfSmartSizing);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ BSTR pLocalPrintingDocName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ BSTR *pLocalPrintingDocName);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ BSTR clipCleanTempDirString);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ BSTR *clipCleanTempDirString);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ BSTR clipPasteInfoString);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ BSTR *clipPasteInfoString);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pDisplayConnectionBar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pPinConnectionBar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ BSTR pLBInfo);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ BSTR *pLBInfo);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pRedirectDrives);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectDrives);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pRedirectPrinters);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pRedirectPorts);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectPorts);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pRedirectSmartCards);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pBitmapVirtualCache16BppSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pBitmapVirtualCache16BppSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pBitmapVirtualCache24BppSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pBitmapVirtualCache24BppSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pDisableList);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pDisableList);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT *rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pfNotify);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfNotify);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutoReconnect )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableAutoReconnect )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ VARIANT_BOOL pfEnableAutoReconnect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableAutoReconnect )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxReconnectAttempts )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [in] */ long pMaxReconnectAttempts);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxReconnectAttempts )( 
            IMsRdpClientAdvancedSettings2 * This,
            /* [retval][out] */ long *pMaxReconnectAttempts);
        
        END_INTERFACE
    } IMsRdpClientAdvancedSettings2Vtbl;

    interface IMsRdpClientAdvancedSettings2
    {
        CONST_VTBL struct IMsRdpClientAdvancedSettings2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClientAdvancedSettings2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClientAdvancedSettings2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClientAdvancedSettings2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClientAdvancedSettings2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsRdpClientAdvancedSettings2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsRdpClientAdvancedSettings2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsRdpClientAdvancedSettings2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsRdpClientAdvancedSettings2_put_Compress(This,pcompress)	\
    ( (This)->lpVtbl -> put_Compress(This,pcompress) ) 

#define IMsRdpClientAdvancedSettings2_get_Compress(This,pcompress)	\
    ( (This)->lpVtbl -> get_Compress(This,pcompress) ) 

#define IMsRdpClientAdvancedSettings2_put_BitmapPeristence(This,pbitmapPeristence)	\
    ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) 

#define IMsRdpClientAdvancedSettings2_get_BitmapPeristence(This,pbitmapPeristence)	\
    ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) 

#define IMsRdpClientAdvancedSettings2_put_allowBackgroundInput(This,pallowBackgroundInput)	\
    ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) 

#define IMsRdpClientAdvancedSettings2_get_allowBackgroundInput(This,pallowBackgroundInput)	\
    ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) 

#define IMsRdpClientAdvancedSettings2_put_KeyBoardLayoutStr(This,rhs)	\
    ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) 

#define IMsRdpClientAdvancedSettings2_put_PluginDlls(This,rhs)	\
    ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) 

#define IMsRdpClientAdvancedSettings2_put_IconFile(This,rhs)	\
    ( (This)->lpVtbl -> put_IconFile(This,rhs) ) 

#define IMsRdpClientAdvancedSettings2_put_IconIndex(This,rhs)	\
    ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) 

#define IMsRdpClientAdvancedSettings2_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen)	\
    ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) 

#define IMsRdpClientAdvancedSettings2_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen)	\
    ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) 

#define IMsRdpClientAdvancedSettings2_put_DisableRdpdr(This,pDisableRdpdr)	\
    ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) 

#define IMsRdpClientAdvancedSettings2_get_DisableRdpdr(This,pDisableRdpdr)	\
    ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) 


#define IMsRdpClientAdvancedSettings2_put_SmoothScroll(This,psmoothScroll)	\
    ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) 

#define IMsRdpClientAdvancedSettings2_get_SmoothScroll(This,psmoothScroll)	\
    ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) 

#define IMsRdpClientAdvancedSettings2_put_AcceleratorPassthrough(This,pacceleratorPassthrough)	\
    ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) 

#define IMsRdpClientAdvancedSettings2_get_AcceleratorPassthrough(This,pacceleratorPassthrough)	\
    ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) 

#define IMsRdpClientAdvancedSettings2_put_ShadowBitmap(This,pshadowBitmap)	\
    ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) 

#define IMsRdpClientAdvancedSettings2_get_ShadowBitmap(This,pshadowBitmap)	\
    ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) 

#define IMsRdpClientAdvancedSettings2_put_TransportType(This,ptransportType)	\
    ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) 

#define IMsRdpClientAdvancedSettings2_get_TransportType(This,ptransportType)	\
    ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) 

#define IMsRdpClientAdvancedSettings2_put_SasSequence(This,psasSequence)	\
    ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) 

#define IMsRdpClientAdvancedSettings2_get_SasSequence(This,psasSequence)	\
    ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) 

#define IMsRdpClientAdvancedSettings2_put_EncryptionEnabled(This,pencryptionEnabled)	\
    ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) 

#define IMsRdpClientAdvancedSettings2_get_EncryptionEnabled(This,pencryptionEnabled)	\
    ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) 

#define IMsRdpClientAdvancedSettings2_put_DedicatedTerminal(This,pdedicatedTerminal)	\
    ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) 

#define IMsRdpClientAdvancedSettings2_get_DedicatedTerminal(This,pdedicatedTerminal)	\
    ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) 

#define IMsRdpClientAdvancedSettings2_put_RDPPort(This,prdpPort)	\
    ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) 

#define IMsRdpClientAdvancedSettings2_get_RDPPort(This,prdpPort)	\
    ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) 

#define IMsRdpClientAdvancedSettings2_put_EnableMouse(This,penableMouse)	\
    ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) 

#define IMsRdpClientAdvancedSettings2_get_EnableMouse(This,penableMouse)	\
    ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) 

#define IMsRdpClientAdvancedSettings2_put_DisableCtrlAltDel(This,pdisableCtrlAltDel)	\
    ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings2_get_DisableCtrlAltDel(This,pdisableCtrlAltDel)	\
    ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings2_put_EnableWindowsKey(This,penableWindowsKey)	\
    ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) 

#define IMsRdpClientAdvancedSettings2_get_EnableWindowsKey(This,penableWindowsKey)	\
    ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) 

#define IMsRdpClientAdvancedSettings2_put_DoubleClickDetect(This,pdoubleClickDetect)	\
    ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) 

#define IMsRdpClientAdvancedSettings2_get_DoubleClickDetect(This,pdoubleClickDetect)	\
    ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) 

#define IMsRdpClientAdvancedSettings2_put_MaximizeShell(This,pmaximizeShell)	\
    ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) 

#define IMsRdpClientAdvancedSettings2_get_MaximizeShell(This,pmaximizeShell)	\
    ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) 

#define IMsRdpClientAdvancedSettings2_put_HotKeyFullScreen(This,photKeyFullScreen)	\
    ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) 

#define IMsRdpClientAdvancedSettings2_get_HotKeyFullScreen(This,photKeyFullScreen)	\
    ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) 

#define IMsRdpClientAdvancedSettings2_put_HotKeyCtrlEsc(This,photKeyCtrlEsc)	\
    ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) 

#define IMsRdpClientAdvancedSettings2_get_HotKeyCtrlEsc(This,photKeyCtrlEsc)	\
    ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) 

#define IMsRdpClientAdvancedSettings2_put_HotKeyAltEsc(This,photKeyAltEsc)	\
    ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) 

#define IMsRdpClientAdvancedSettings2_get_HotKeyAltEsc(This,photKeyAltEsc)	\
    ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) 

#define IMsRdpClientAdvancedSettings2_put_HotKeyAltTab(This,photKeyAltTab)	\
    ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) 

#define IMsRdpClientAdvancedSettings2_get_HotKeyAltTab(This,photKeyAltTab)	\
    ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) 

#define IMsRdpClientAdvancedSettings2_put_HotKeyAltShiftTab(This,photKeyAltShiftTab)	\
    ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) 

#define IMsRdpClientAdvancedSettings2_get_HotKeyAltShiftTab(This,photKeyAltShiftTab)	\
    ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) 

#define IMsRdpClientAdvancedSettings2_put_HotKeyAltSpace(This,photKeyAltSpace)	\
    ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) 

#define IMsRdpClientAdvancedSettings2_get_HotKeyAltSpace(This,photKeyAltSpace)	\
    ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) 

#define IMsRdpClientAdvancedSettings2_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel)	\
    ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings2_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel)	\
    ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings2_put_orderDrawThreshold(This,porderDrawThreshold)	\
    ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) 

#define IMsRdpClientAdvancedSettings2_get_orderDrawThreshold(This,porderDrawThreshold)	\
    ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) 

#define IMsRdpClientAdvancedSettings2_put_BitmapCacheSize(This,pbitmapCacheSize)	\
    ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) 

#define IMsRdpClientAdvancedSettings2_get_BitmapCacheSize(This,pbitmapCacheSize)	\
    ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) 

#define IMsRdpClientAdvancedSettings2_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) 

#define IMsRdpClientAdvancedSettings2_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) 

#define IMsRdpClientAdvancedSettings2_put_ScaleBitmapCachesByBPP(This,pbScale)	\
    ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) 

#define IMsRdpClientAdvancedSettings2_get_ScaleBitmapCachesByBPP(This,pbScale)	\
    ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) 

#define IMsRdpClientAdvancedSettings2_put_NumBitmapCaches(This,pnumBitmapCaches)	\
    ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) 

#define IMsRdpClientAdvancedSettings2_get_NumBitmapCaches(This,pnumBitmapCaches)	\
    ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) 

#define IMsRdpClientAdvancedSettings2_put_CachePersistenceActive(This,pcachePersistenceActive)	\
    ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) 

#define IMsRdpClientAdvancedSettings2_get_CachePersistenceActive(This,pcachePersistenceActive)	\
    ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) 

#define IMsRdpClientAdvancedSettings2_put_PersistCacheDirectory(This,rhs)	\
    ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) 

#define IMsRdpClientAdvancedSettings2_put_brushSupportLevel(This,pbrushSupportLevel)	\
    ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) 

#define IMsRdpClientAdvancedSettings2_get_brushSupportLevel(This,pbrushSupportLevel)	\
    ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) 

#define IMsRdpClientAdvancedSettings2_put_minInputSendInterval(This,pminInputSendInterval)	\
    ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) 

#define IMsRdpClientAdvancedSettings2_get_minInputSendInterval(This,pminInputSendInterval)	\
    ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) 

#define IMsRdpClientAdvancedSettings2_put_InputEventsAtOnce(This,pinputEventsAtOnce)	\
    ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) 

#define IMsRdpClientAdvancedSettings2_get_InputEventsAtOnce(This,pinputEventsAtOnce)	\
    ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) 

#define IMsRdpClientAdvancedSettings2_put_maxEventCount(This,pmaxEventCount)	\
    ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) 

#define IMsRdpClientAdvancedSettings2_get_maxEventCount(This,pmaxEventCount)	\
    ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) 

#define IMsRdpClientAdvancedSettings2_put_keepAliveInterval(This,pkeepAliveInterval)	\
    ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) 

#define IMsRdpClientAdvancedSettings2_get_keepAliveInterval(This,pkeepAliveInterval)	\
    ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) 

#define IMsRdpClientAdvancedSettings2_put_shutdownTimeout(This,pshutdownTimeout)	\
    ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) 

#define IMsRdpClientAdvancedSettings2_get_shutdownTimeout(This,pshutdownTimeout)	\
    ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) 

#define IMsRdpClientAdvancedSettings2_put_overallConnectionTimeout(This,poverallConnectionTimeout)	\
    ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings2_get_overallConnectionTimeout(This,poverallConnectionTimeout)	\
    ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings2_put_singleConnectionTimeout(This,psingleConnectionTimeout)	\
    ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings2_get_singleConnectionTimeout(This,psingleConnectionTimeout)	\
    ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings2_put_KeyboardType(This,pkeyboardType)	\
    ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) 

#define IMsRdpClientAdvancedSettings2_get_KeyboardType(This,pkeyboardType)	\
    ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) 

#define IMsRdpClientAdvancedSettings2_put_KeyboardSubType(This,pkeyboardSubType)	\
    ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) 

#define IMsRdpClientAdvancedSettings2_get_KeyboardSubType(This,pkeyboardSubType)	\
    ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) 

#define IMsRdpClientAdvancedSettings2_put_KeyboardFunctionKey(This,pkeyboardFunctionKey)	\
    ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) 

#define IMsRdpClientAdvancedSettings2_get_KeyboardFunctionKey(This,pkeyboardFunctionKey)	\
    ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) 

#define IMsRdpClientAdvancedSettings2_put_WinceFixedPalette(This,pwinceFixedPalette)	\
    ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) 

#define IMsRdpClientAdvancedSettings2_get_WinceFixedPalette(This,pwinceFixedPalette)	\
    ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) 

#define IMsRdpClientAdvancedSettings2_put_ConnectToServerConsole(This,pConnectToConsole)	\
    ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) 

#define IMsRdpClientAdvancedSettings2_get_ConnectToServerConsole(This,pConnectToConsole)	\
    ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) 

#define IMsRdpClientAdvancedSettings2_put_BitmapPersistence(This,pbitmapPersistence)	\
    ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) 

#define IMsRdpClientAdvancedSettings2_get_BitmapPersistence(This,pbitmapPersistence)	\
    ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) 

#define IMsRdpClientAdvancedSettings2_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout)	\
    ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) 

#define IMsRdpClientAdvancedSettings2_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout)	\
    ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) 

#define IMsRdpClientAdvancedSettings2_put_SmartSizing(This,pfSmartSizing)	\
    ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) 

#define IMsRdpClientAdvancedSettings2_get_SmartSizing(This,pfSmartSizing)	\
    ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) 

#define IMsRdpClientAdvancedSettings2_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName)	\
    ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) 

#define IMsRdpClientAdvancedSettings2_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName)	\
    ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) 

#define IMsRdpClientAdvancedSettings2_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString)	\
    ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) 

#define IMsRdpClientAdvancedSettings2_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString)	\
    ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) 

#define IMsRdpClientAdvancedSettings2_put_RdpdrClipPasteInfoString(This,clipPasteInfoString)	\
    ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) 

#define IMsRdpClientAdvancedSettings2_get_RdpdrClipPasteInfoString(This,clipPasteInfoString)	\
    ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) 

#define IMsRdpClientAdvancedSettings2_put_ClearTextPassword(This,rhs)	\
    ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) 

#define IMsRdpClientAdvancedSettings2_put_DisplayConnectionBar(This,pDisplayConnectionBar)	\
    ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) 

#define IMsRdpClientAdvancedSettings2_get_DisplayConnectionBar(This,pDisplayConnectionBar)	\
    ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) 

#define IMsRdpClientAdvancedSettings2_put_PinConnectionBar(This,pPinConnectionBar)	\
    ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) 

#define IMsRdpClientAdvancedSettings2_get_PinConnectionBar(This,pPinConnectionBar)	\
    ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) 

#define IMsRdpClientAdvancedSettings2_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect)	\
    ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) 

#define IMsRdpClientAdvancedSettings2_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect)	\
    ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) 

#define IMsRdpClientAdvancedSettings2_put_LoadBalanceInfo(This,pLBInfo)	\
    ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) 

#define IMsRdpClientAdvancedSettings2_get_LoadBalanceInfo(This,pLBInfo)	\
    ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) 

#define IMsRdpClientAdvancedSettings2_put_RedirectDrives(This,pRedirectDrives)	\
    ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) 

#define IMsRdpClientAdvancedSettings2_get_RedirectDrives(This,pRedirectDrives)	\
    ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) 

#define IMsRdpClientAdvancedSettings2_put_RedirectPrinters(This,pRedirectPrinters)	\
    ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) 

#define IMsRdpClientAdvancedSettings2_get_RedirectPrinters(This,pRedirectPrinters)	\
    ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) 

#define IMsRdpClientAdvancedSettings2_put_RedirectPorts(This,pRedirectPorts)	\
    ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) 

#define IMsRdpClientAdvancedSettings2_get_RedirectPorts(This,pRedirectPorts)	\
    ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) 

#define IMsRdpClientAdvancedSettings2_put_RedirectSmartCards(This,pRedirectSmartCards)	\
    ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) 

#define IMsRdpClientAdvancedSettings2_get_RedirectSmartCards(This,pRedirectSmartCards)	\
    ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) 

#define IMsRdpClientAdvancedSettings2_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) 

#define IMsRdpClientAdvancedSettings2_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) 

#define IMsRdpClientAdvancedSettings2_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) 

#define IMsRdpClientAdvancedSettings2_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) 

#define IMsRdpClientAdvancedSettings2_put_PerformanceFlags(This,pDisableList)	\
    ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) 

#define IMsRdpClientAdvancedSettings2_get_PerformanceFlags(This,pDisableList)	\
    ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) 

#define IMsRdpClientAdvancedSettings2_put_ConnectWithEndpoint(This,rhs)	\
    ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) 

#define IMsRdpClientAdvancedSettings2_put_NotifyTSPublicKey(This,pfNotify)	\
    ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) 

#define IMsRdpClientAdvancedSettings2_get_NotifyTSPublicKey(This,pfNotify)	\
    ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) 


#define IMsRdpClientAdvancedSettings2_get_CanAutoReconnect(This,pfCanAutoReconnect)	\
    ( (This)->lpVtbl -> get_CanAutoReconnect(This,pfCanAutoReconnect) ) 

#define IMsRdpClientAdvancedSettings2_put_EnableAutoReconnect(This,pfEnableAutoReconnect)	\
    ( (This)->lpVtbl -> put_EnableAutoReconnect(This,pfEnableAutoReconnect) ) 

#define IMsRdpClientAdvancedSettings2_get_EnableAutoReconnect(This,pfEnableAutoReconnect)	\
    ( (This)->lpVtbl -> get_EnableAutoReconnect(This,pfEnableAutoReconnect) ) 

#define IMsRdpClientAdvancedSettings2_put_MaxReconnectAttempts(This,pMaxReconnectAttempts)	\
    ( (This)->lpVtbl -> put_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) 

#define IMsRdpClientAdvancedSettings2_get_MaxReconnectAttempts(This,pMaxReconnectAttempts)	\
    ( (This)->lpVtbl -> get_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_get_CanAutoReconnect_Proxy( 
    IMsRdpClientAdvancedSettings2 * This,
    /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect);


void __RPC_STUB IMsRdpClientAdvancedSettings2_get_CanAutoReconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_put_EnableAutoReconnect_Proxy( 
    IMsRdpClientAdvancedSettings2 * This,
    /* [in] */ VARIANT_BOOL pfEnableAutoReconnect);


void __RPC_STUB IMsRdpClientAdvancedSettings2_put_EnableAutoReconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_get_EnableAutoReconnect_Proxy( 
    IMsRdpClientAdvancedSettings2 * This,
    /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect);


void __RPC_STUB IMsRdpClientAdvancedSettings2_get_EnableAutoReconnect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_put_MaxReconnectAttempts_Proxy( 
    IMsRdpClientAdvancedSettings2 * This,
    /* [in] */ long pMaxReconnectAttempts);


void __RPC_STUB IMsRdpClientAdvancedSettings2_put_MaxReconnectAttempts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings2_get_MaxReconnectAttempts_Proxy( 
    IMsRdpClientAdvancedSettings2 * This,
    /* [retval][out] */ long *pMaxReconnectAttempts);


void __RPC_STUB IMsRdpClientAdvancedSettings2_get_MaxReconnectAttempts_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMsRdpClientAdvancedSettings2_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClientAdvancedSettings3_INTERFACE_DEFINED__
#define __IMsRdpClientAdvancedSettings3_INTERFACE_DEFINED__

/* interface IMsRdpClientAdvancedSettings3 */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsRdpClientAdvancedSettings3;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("19CD856B-C542-4C53-ACEE-F127E3BE1A59")
    IMsRdpClientAdvancedSettings3 : public IMsRdpClientAdvancedSettings2
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectionBarShowMinimizeButton( 
            /* [in] */ VARIANT_BOOL pfShowMinimize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectionBarShowMinimizeButton( 
            /* [retval][out] */ VARIANT_BOOL *pfShowMinimize) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectionBarShowRestoreButton( 
            /* [in] */ VARIANT_BOOL pfShowRestore) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectionBarShowRestoreButton( 
            /* [retval][out] */ VARIANT_BOOL *pfShowRestore) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClientAdvancedSettings3Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClientAdvancedSettings3 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClientAdvancedSettings3 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pcompress);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pcompress);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pbitmapPeristence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pbitmapPeristence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pallowBackgroundInput);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pallowBackgroundInput);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pContainerHandledFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pContainerHandledFullScreen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pDisableRdpdr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pDisableRdpdr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long psmoothScroll);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *psmoothScroll);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pacceleratorPassthrough);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pacceleratorPassthrough);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pshadowBitmap);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pshadowBitmap);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long ptransportType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *ptransportType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long psasSequence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *psasSequence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pencryptionEnabled);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pencryptionEnabled);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pdedicatedTerminal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pdedicatedTerminal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long prdpPort);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *prdpPort);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long penableMouse);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *penableMouse);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pdisableCtrlAltDel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pdisableCtrlAltDel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long penableWindowsKey);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *penableWindowsKey);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pdoubleClickDetect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pdoubleClickDetect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pmaximizeShell);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pmaximizeShell);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long photKeyFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *photKeyFullScreen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long photKeyCtrlEsc);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *photKeyCtrlEsc);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long photKeyAltEsc);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *photKeyAltEsc);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long photKeyAltTab);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *photKeyAltTab);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long photKeyAltShiftTab);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *photKeyAltShiftTab);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long photKeyAltSpace);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *photKeyAltSpace);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long photKeyCtrlAltDel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *photKeyCtrlAltDel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long porderDrawThreshold);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *porderDrawThreshold);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pbitmapCacheSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pbitmapCacheSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pbitmapVirtualCacheSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pbitmapVirtualCacheSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pbScale);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pbScale);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pnumBitmapCaches);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pnumBitmapCaches);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pcachePersistenceActive);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pcachePersistenceActive);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pbrushSupportLevel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pbrushSupportLevel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pminInputSendInterval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pminInputSendInterval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pinputEventsAtOnce);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pinputEventsAtOnce);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pmaxEventCount);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pmaxEventCount);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pkeepAliveInterval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pkeepAliveInterval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pshutdownTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pshutdownTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long poverallConnectionTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *poverallConnectionTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long psingleConnectionTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *psingleConnectionTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pkeyboardType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pkeyboardType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pkeyboardSubType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pkeyboardSubType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pkeyboardFunctionKey);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pkeyboardFunctionKey);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pwinceFixedPalette);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pwinceFixedPalette);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pConnectToConsole);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pConnectToConsole);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pbitmapPersistence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pbitmapPersistence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pminutesToIdleTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pminutesToIdleTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pfSmartSizing);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pfSmartSizing);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ BSTR pLocalPrintingDocName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ BSTR *pLocalPrintingDocName);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ BSTR clipCleanTempDirString);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ BSTR *clipCleanTempDirString);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ BSTR clipPasteInfoString);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ BSTR *clipPasteInfoString);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pDisplayConnectionBar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pPinConnectionBar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ BSTR pLBInfo);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ BSTR *pLBInfo);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pRedirectDrives);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectDrives);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pRedirectPrinters);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pRedirectPorts);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectPorts);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pRedirectSmartCards);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pBitmapVirtualCache16BppSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pBitmapVirtualCache16BppSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pBitmapVirtualCache24BppSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pBitmapVirtualCache24BppSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pDisableList);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pDisableList);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT *rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pfNotify);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pfNotify);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutoReconnect )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableAutoReconnect )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pfEnableAutoReconnect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableAutoReconnect )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxReconnectAttempts )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ long pMaxReconnectAttempts);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxReconnectAttempts )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ long *pMaxReconnectAttempts);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowMinimizeButton )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pfShowMinimize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowMinimizeButton )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pfShowMinimize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowRestoreButton )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [in] */ VARIANT_BOOL pfShowRestore);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowRestoreButton )( 
            IMsRdpClientAdvancedSettings3 * This,
            /* [retval][out] */ VARIANT_BOOL *pfShowRestore);
        
        END_INTERFACE
    } IMsRdpClientAdvancedSettings3Vtbl;

    interface IMsRdpClientAdvancedSettings3
    {
        CONST_VTBL struct IMsRdpClientAdvancedSettings3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClientAdvancedSettings3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClientAdvancedSettings3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClientAdvancedSettings3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClientAdvancedSettings3_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsRdpClientAdvancedSettings3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsRdpClientAdvancedSettings3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsRdpClientAdvancedSettings3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsRdpClientAdvancedSettings3_put_Compress(This,pcompress)	\
    ( (This)->lpVtbl -> put_Compress(This,pcompress) ) 

#define IMsRdpClientAdvancedSettings3_get_Compress(This,pcompress)	\
    ( (This)->lpVtbl -> get_Compress(This,pcompress) ) 

#define IMsRdpClientAdvancedSettings3_put_BitmapPeristence(This,pbitmapPeristence)	\
    ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) 

#define IMsRdpClientAdvancedSettings3_get_BitmapPeristence(This,pbitmapPeristence)	\
    ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) 

#define IMsRdpClientAdvancedSettings3_put_allowBackgroundInput(This,pallowBackgroundInput)	\
    ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) 

#define IMsRdpClientAdvancedSettings3_get_allowBackgroundInput(This,pallowBackgroundInput)	\
    ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) 

#define IMsRdpClientAdvancedSettings3_put_KeyBoardLayoutStr(This,rhs)	\
    ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) 

#define IMsRdpClientAdvancedSettings3_put_PluginDlls(This,rhs)	\
    ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) 

#define IMsRdpClientAdvancedSettings3_put_IconFile(This,rhs)	\
    ( (This)->lpVtbl -> put_IconFile(This,rhs) ) 

#define IMsRdpClientAdvancedSettings3_put_IconIndex(This,rhs)	\
    ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) 

#define IMsRdpClientAdvancedSettings3_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen)	\
    ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) 

#define IMsRdpClientAdvancedSettings3_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen)	\
    ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) 

#define IMsRdpClientAdvancedSettings3_put_DisableRdpdr(This,pDisableRdpdr)	\
    ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) 

#define IMsRdpClientAdvancedSettings3_get_DisableRdpdr(This,pDisableRdpdr)	\
    ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) 


#define IMsRdpClientAdvancedSettings3_put_SmoothScroll(This,psmoothScroll)	\
    ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) 

#define IMsRdpClientAdvancedSettings3_get_SmoothScroll(This,psmoothScroll)	\
    ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) 

#define IMsRdpClientAdvancedSettings3_put_AcceleratorPassthrough(This,pacceleratorPassthrough)	\
    ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) 

#define IMsRdpClientAdvancedSettings3_get_AcceleratorPassthrough(This,pacceleratorPassthrough)	\
    ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) 

#define IMsRdpClientAdvancedSettings3_put_ShadowBitmap(This,pshadowBitmap)	\
    ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) 

#define IMsRdpClientAdvancedSettings3_get_ShadowBitmap(This,pshadowBitmap)	\
    ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) 

#define IMsRdpClientAdvancedSettings3_put_TransportType(This,ptransportType)	\
    ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) 

#define IMsRdpClientAdvancedSettings3_get_TransportType(This,ptransportType)	\
    ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) 

#define IMsRdpClientAdvancedSettings3_put_SasSequence(This,psasSequence)	\
    ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) 

#define IMsRdpClientAdvancedSettings3_get_SasSequence(This,psasSequence)	\
    ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) 

#define IMsRdpClientAdvancedSettings3_put_EncryptionEnabled(This,pencryptionEnabled)	\
    ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) 

#define IMsRdpClientAdvancedSettings3_get_EncryptionEnabled(This,pencryptionEnabled)	\
    ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) 

#define IMsRdpClientAdvancedSettings3_put_DedicatedTerminal(This,pdedicatedTerminal)	\
    ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) 

#define IMsRdpClientAdvancedSettings3_get_DedicatedTerminal(This,pdedicatedTerminal)	\
    ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) 

#define IMsRdpClientAdvancedSettings3_put_RDPPort(This,prdpPort)	\
    ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) 

#define IMsRdpClientAdvancedSettings3_get_RDPPort(This,prdpPort)	\
    ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) 

#define IMsRdpClientAdvancedSettings3_put_EnableMouse(This,penableMouse)	\
    ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) 

#define IMsRdpClientAdvancedSettings3_get_EnableMouse(This,penableMouse)	\
    ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) 

#define IMsRdpClientAdvancedSettings3_put_DisableCtrlAltDel(This,pdisableCtrlAltDel)	\
    ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings3_get_DisableCtrlAltDel(This,pdisableCtrlAltDel)	\
    ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings3_put_EnableWindowsKey(This,penableWindowsKey)	\
    ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) 

#define IMsRdpClientAdvancedSettings3_get_EnableWindowsKey(This,penableWindowsKey)	\
    ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) 

#define IMsRdpClientAdvancedSettings3_put_DoubleClickDetect(This,pdoubleClickDetect)	\
    ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) 

#define IMsRdpClientAdvancedSettings3_get_DoubleClickDetect(This,pdoubleClickDetect)	\
    ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) 

#define IMsRdpClientAdvancedSettings3_put_MaximizeShell(This,pmaximizeShell)	\
    ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) 

#define IMsRdpClientAdvancedSettings3_get_MaximizeShell(This,pmaximizeShell)	\
    ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) 

#define IMsRdpClientAdvancedSettings3_put_HotKeyFullScreen(This,photKeyFullScreen)	\
    ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) 

#define IMsRdpClientAdvancedSettings3_get_HotKeyFullScreen(This,photKeyFullScreen)	\
    ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) 

#define IMsRdpClientAdvancedSettings3_put_HotKeyCtrlEsc(This,photKeyCtrlEsc)	\
    ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) 

#define IMsRdpClientAdvancedSettings3_get_HotKeyCtrlEsc(This,photKeyCtrlEsc)	\
    ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) 

#define IMsRdpClientAdvancedSettings3_put_HotKeyAltEsc(This,photKeyAltEsc)	\
    ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) 

#define IMsRdpClientAdvancedSettings3_get_HotKeyAltEsc(This,photKeyAltEsc)	\
    ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) 

#define IMsRdpClientAdvancedSettings3_put_HotKeyAltTab(This,photKeyAltTab)	\
    ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) 

#define IMsRdpClientAdvancedSettings3_get_HotKeyAltTab(This,photKeyAltTab)	\
    ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) 

#define IMsRdpClientAdvancedSettings3_put_HotKeyAltShiftTab(This,photKeyAltShiftTab)	\
    ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) 

#define IMsRdpClientAdvancedSettings3_get_HotKeyAltShiftTab(This,photKeyAltShiftTab)	\
    ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) 

#define IMsRdpClientAdvancedSettings3_put_HotKeyAltSpace(This,photKeyAltSpace)	\
    ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) 

#define IMsRdpClientAdvancedSettings3_get_HotKeyAltSpace(This,photKeyAltSpace)	\
    ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) 

#define IMsRdpClientAdvancedSettings3_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel)	\
    ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings3_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel)	\
    ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings3_put_orderDrawThreshold(This,porderDrawThreshold)	\
    ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) 

#define IMsRdpClientAdvancedSettings3_get_orderDrawThreshold(This,porderDrawThreshold)	\
    ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) 

#define IMsRdpClientAdvancedSettings3_put_BitmapCacheSize(This,pbitmapCacheSize)	\
    ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) 

#define IMsRdpClientAdvancedSettings3_get_BitmapCacheSize(This,pbitmapCacheSize)	\
    ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) 

#define IMsRdpClientAdvancedSettings3_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) 

#define IMsRdpClientAdvancedSettings3_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) 

#define IMsRdpClientAdvancedSettings3_put_ScaleBitmapCachesByBPP(This,pbScale)	\
    ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) 

#define IMsRdpClientAdvancedSettings3_get_ScaleBitmapCachesByBPP(This,pbScale)	\
    ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) 

#define IMsRdpClientAdvancedSettings3_put_NumBitmapCaches(This,pnumBitmapCaches)	\
    ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) 

#define IMsRdpClientAdvancedSettings3_get_NumBitmapCaches(This,pnumBitmapCaches)	\
    ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) 

#define IMsRdpClientAdvancedSettings3_put_CachePersistenceActive(This,pcachePersistenceActive)	\
    ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) 

#define IMsRdpClientAdvancedSettings3_get_CachePersistenceActive(This,pcachePersistenceActive)	\
    ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) 

#define IMsRdpClientAdvancedSettings3_put_PersistCacheDirectory(This,rhs)	\
    ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) 

#define IMsRdpClientAdvancedSettings3_put_brushSupportLevel(This,pbrushSupportLevel)	\
    ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) 

#define IMsRdpClientAdvancedSettings3_get_brushSupportLevel(This,pbrushSupportLevel)	\
    ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) 

#define IMsRdpClientAdvancedSettings3_put_minInputSendInterval(This,pminInputSendInterval)	\
    ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) 

#define IMsRdpClientAdvancedSettings3_get_minInputSendInterval(This,pminInputSendInterval)	\
    ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) 

#define IMsRdpClientAdvancedSettings3_put_InputEventsAtOnce(This,pinputEventsAtOnce)	\
    ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) 

#define IMsRdpClientAdvancedSettings3_get_InputEventsAtOnce(This,pinputEventsAtOnce)	\
    ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) 

#define IMsRdpClientAdvancedSettings3_put_maxEventCount(This,pmaxEventCount)	\
    ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) 

#define IMsRdpClientAdvancedSettings3_get_maxEventCount(This,pmaxEventCount)	\
    ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) 

#define IMsRdpClientAdvancedSettings3_put_keepAliveInterval(This,pkeepAliveInterval)	\
    ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) 

#define IMsRdpClientAdvancedSettings3_get_keepAliveInterval(This,pkeepAliveInterval)	\
    ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) 

#define IMsRdpClientAdvancedSettings3_put_shutdownTimeout(This,pshutdownTimeout)	\
    ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) 

#define IMsRdpClientAdvancedSettings3_get_shutdownTimeout(This,pshutdownTimeout)	\
    ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) 

#define IMsRdpClientAdvancedSettings3_put_overallConnectionTimeout(This,poverallConnectionTimeout)	\
    ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings3_get_overallConnectionTimeout(This,poverallConnectionTimeout)	\
    ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings3_put_singleConnectionTimeout(This,psingleConnectionTimeout)	\
    ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings3_get_singleConnectionTimeout(This,psingleConnectionTimeout)	\
    ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings3_put_KeyboardType(This,pkeyboardType)	\
    ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) 

#define IMsRdpClientAdvancedSettings3_get_KeyboardType(This,pkeyboardType)	\
    ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) 

#define IMsRdpClientAdvancedSettings3_put_KeyboardSubType(This,pkeyboardSubType)	\
    ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) 

#define IMsRdpClientAdvancedSettings3_get_KeyboardSubType(This,pkeyboardSubType)	\
    ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) 

#define IMsRdpClientAdvancedSettings3_put_KeyboardFunctionKey(This,pkeyboardFunctionKey)	\
    ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) 

#define IMsRdpClientAdvancedSettings3_get_KeyboardFunctionKey(This,pkeyboardFunctionKey)	\
    ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) 

#define IMsRdpClientAdvancedSettings3_put_WinceFixedPalette(This,pwinceFixedPalette)	\
    ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) 

#define IMsRdpClientAdvancedSettings3_get_WinceFixedPalette(This,pwinceFixedPalette)	\
    ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) 

#define IMsRdpClientAdvancedSettings3_put_ConnectToServerConsole(This,pConnectToConsole)	\
    ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) 

#define IMsRdpClientAdvancedSettings3_get_ConnectToServerConsole(This,pConnectToConsole)	\
    ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) 

#define IMsRdpClientAdvancedSettings3_put_BitmapPersistence(This,pbitmapPersistence)	\
    ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) 

#define IMsRdpClientAdvancedSettings3_get_BitmapPersistence(This,pbitmapPersistence)	\
    ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) 

#define IMsRdpClientAdvancedSettings3_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout)	\
    ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) 

#define IMsRdpClientAdvancedSettings3_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout)	\
    ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) 

#define IMsRdpClientAdvancedSettings3_put_SmartSizing(This,pfSmartSizing)	\
    ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) 

#define IMsRdpClientAdvancedSettings3_get_SmartSizing(This,pfSmartSizing)	\
    ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) 

#define IMsRdpClientAdvancedSettings3_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName)	\
    ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) 

#define IMsRdpClientAdvancedSettings3_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName)	\
    ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) 

#define IMsRdpClientAdvancedSettings3_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString)	\
    ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) 

#define IMsRdpClientAdvancedSettings3_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString)	\
    ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) 

#define IMsRdpClientAdvancedSettings3_put_RdpdrClipPasteInfoString(This,clipPasteInfoString)	\
    ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) 

#define IMsRdpClientAdvancedSettings3_get_RdpdrClipPasteInfoString(This,clipPasteInfoString)	\
    ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) 

#define IMsRdpClientAdvancedSettings3_put_ClearTextPassword(This,rhs)	\
    ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) 

#define IMsRdpClientAdvancedSettings3_put_DisplayConnectionBar(This,pDisplayConnectionBar)	\
    ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) 

#define IMsRdpClientAdvancedSettings3_get_DisplayConnectionBar(This,pDisplayConnectionBar)	\
    ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) 

#define IMsRdpClientAdvancedSettings3_put_PinConnectionBar(This,pPinConnectionBar)	\
    ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) 

#define IMsRdpClientAdvancedSettings3_get_PinConnectionBar(This,pPinConnectionBar)	\
    ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) 

#define IMsRdpClientAdvancedSettings3_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect)	\
    ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) 

#define IMsRdpClientAdvancedSettings3_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect)	\
    ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) 

#define IMsRdpClientAdvancedSettings3_put_LoadBalanceInfo(This,pLBInfo)	\
    ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) 

#define IMsRdpClientAdvancedSettings3_get_LoadBalanceInfo(This,pLBInfo)	\
    ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) 

#define IMsRdpClientAdvancedSettings3_put_RedirectDrives(This,pRedirectDrives)	\
    ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) 

#define IMsRdpClientAdvancedSettings3_get_RedirectDrives(This,pRedirectDrives)	\
    ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) 

#define IMsRdpClientAdvancedSettings3_put_RedirectPrinters(This,pRedirectPrinters)	\
    ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) 

#define IMsRdpClientAdvancedSettings3_get_RedirectPrinters(This,pRedirectPrinters)	\
    ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) 

#define IMsRdpClientAdvancedSettings3_put_RedirectPorts(This,pRedirectPorts)	\
    ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) 

#define IMsRdpClientAdvancedSettings3_get_RedirectPorts(This,pRedirectPorts)	\
    ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) 

#define IMsRdpClientAdvancedSettings3_put_RedirectSmartCards(This,pRedirectSmartCards)	\
    ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) 

#define IMsRdpClientAdvancedSettings3_get_RedirectSmartCards(This,pRedirectSmartCards)	\
    ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) 

#define IMsRdpClientAdvancedSettings3_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) 

#define IMsRdpClientAdvancedSettings3_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) 

#define IMsRdpClientAdvancedSettings3_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) 

#define IMsRdpClientAdvancedSettings3_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) 

#define IMsRdpClientAdvancedSettings3_put_PerformanceFlags(This,pDisableList)	\
    ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) 

#define IMsRdpClientAdvancedSettings3_get_PerformanceFlags(This,pDisableList)	\
    ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) 

#define IMsRdpClientAdvancedSettings3_put_ConnectWithEndpoint(This,rhs)	\
    ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) 

#define IMsRdpClientAdvancedSettings3_put_NotifyTSPublicKey(This,pfNotify)	\
    ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) 

#define IMsRdpClientAdvancedSettings3_get_NotifyTSPublicKey(This,pfNotify)	\
    ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) 


#define IMsRdpClientAdvancedSettings3_get_CanAutoReconnect(This,pfCanAutoReconnect)	\
    ( (This)->lpVtbl -> get_CanAutoReconnect(This,pfCanAutoReconnect) ) 

#define IMsRdpClientAdvancedSettings3_put_EnableAutoReconnect(This,pfEnableAutoReconnect)	\
    ( (This)->lpVtbl -> put_EnableAutoReconnect(This,pfEnableAutoReconnect) ) 

#define IMsRdpClientAdvancedSettings3_get_EnableAutoReconnect(This,pfEnableAutoReconnect)	\
    ( (This)->lpVtbl -> get_EnableAutoReconnect(This,pfEnableAutoReconnect) ) 

#define IMsRdpClientAdvancedSettings3_put_MaxReconnectAttempts(This,pMaxReconnectAttempts)	\
    ( (This)->lpVtbl -> put_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) 

#define IMsRdpClientAdvancedSettings3_get_MaxReconnectAttempts(This,pMaxReconnectAttempts)	\
    ( (This)->lpVtbl -> get_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) 


#define IMsRdpClientAdvancedSettings3_put_ConnectionBarShowMinimizeButton(This,pfShowMinimize)	\
    ( (This)->lpVtbl -> put_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) 

#define IMsRdpClientAdvancedSettings3_get_ConnectionBarShowMinimizeButton(This,pfShowMinimize)	\
    ( (This)->lpVtbl -> get_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) 

#define IMsRdpClientAdvancedSettings3_put_ConnectionBarShowRestoreButton(This,pfShowRestore)	\
    ( (This)->lpVtbl -> put_ConnectionBarShowRestoreButton(This,pfShowRestore) ) 

#define IMsRdpClientAdvancedSettings3_get_ConnectionBarShowRestoreButton(This,pfShowRestore)	\
    ( (This)->lpVtbl -> get_ConnectionBarShowRestoreButton(This,pfShowRestore) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_put_ConnectionBarShowMinimizeButton_Proxy( 
    IMsRdpClientAdvancedSettings3 * This,
    /* [in] */ VARIANT_BOOL pfShowMinimize);


void __RPC_STUB IMsRdpClientAdvancedSettings3_put_ConnectionBarShowMinimizeButton_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_get_ConnectionBarShowMinimizeButton_Proxy( 
    IMsRdpClientAdvancedSettings3 * This,
    /* [retval][out] */ VARIANT_BOOL *pfShowMinimize);


void __RPC_STUB IMsRdpClientAdvancedSettings3_get_ConnectionBarShowMinimizeButton_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_put_ConnectionBarShowRestoreButton_Proxy( 
    IMsRdpClientAdvancedSettings3 * This,
    /* [in] */ VARIANT_BOOL pfShowRestore);


void __RPC_STUB IMsRdpClientAdvancedSettings3_put_ConnectionBarShowRestoreButton_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings3_get_ConnectionBarShowRestoreButton_Proxy( 
    IMsRdpClientAdvancedSettings3 * This,
    /* [retval][out] */ VARIANT_BOOL *pfShowRestore);


void __RPC_STUB IMsRdpClientAdvancedSettings3_get_ConnectionBarShowRestoreButton_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMsRdpClientAdvancedSettings3_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClientAdvancedSettings4_INTERFACE_DEFINED__
#define __IMsRdpClientAdvancedSettings4_INTERFACE_DEFINED__

/* interface IMsRdpClientAdvancedSettings4 */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsRdpClientAdvancedSettings4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FBA7F64E-7345-4405-AE50-FA4A763DC0DE")
    IMsRdpClientAdvancedSettings4 : public IMsRdpClientAdvancedSettings3
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AuthenticationLevel( 
            /* [in] */ unsigned int puiAuthLevel) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AuthenticationLevel( 
            /* [retval][out] */ unsigned int *puiAuthLevel) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClientAdvancedSettings4Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClientAdvancedSettings4 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClientAdvancedSettings4 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Compress )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pcompress);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Compress )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pcompress);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPeristence )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pbitmapPeristence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPeristence )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pbitmapPeristence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_allowBackgroundInput )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pallowBackgroundInput);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_allowBackgroundInput )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pallowBackgroundInput);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyBoardLayoutStr )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PluginDlls )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconFile )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IconIndex )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContainerHandledFullScreen )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pContainerHandledFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContainerHandledFullScreen )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pContainerHandledFullScreen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableRdpdr )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pDisableRdpdr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableRdpdr )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pDisableRdpdr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmoothScroll )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long psmoothScroll);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmoothScroll )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *psmoothScroll);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AcceleratorPassthrough )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pacceleratorPassthrough);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AcceleratorPassthrough )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pacceleratorPassthrough);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowBitmap )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pshadowBitmap);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowBitmap )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pshadowBitmap);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransportType )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long ptransportType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransportType )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *ptransportType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SasSequence )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long psasSequence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SasSequence )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *psasSequence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EncryptionEnabled )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pencryptionEnabled);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EncryptionEnabled )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pencryptionEnabled);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DedicatedTerminal )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pdedicatedTerminal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DedicatedTerminal )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pdedicatedTerminal);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RDPPort )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long prdpPort);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RDPPort )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *prdpPort);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableMouse )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long penableMouse);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableMouse )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *penableMouse);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCtrlAltDel )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pdisableCtrlAltDel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCtrlAltDel )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pdisableCtrlAltDel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableWindowsKey )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long penableWindowsKey);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableWindowsKey )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *penableWindowsKey);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleClickDetect )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pdoubleClickDetect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleClickDetect )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pdoubleClickDetect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximizeShell )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pmaximizeShell);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximizeShell )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pmaximizeShell);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyFullScreen )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long photKeyFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyFullScreen )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *photKeyFullScreen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlEsc )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long photKeyCtrlEsc);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlEsc )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *photKeyCtrlEsc);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltEsc )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long photKeyAltEsc);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltEsc )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *photKeyAltEsc);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltTab )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long photKeyAltTab);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltTab )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *photKeyAltTab);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltShiftTab )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long photKeyAltShiftTab);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltShiftTab )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *photKeyAltShiftTab);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyAltSpace )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long photKeyAltSpace);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyAltSpace )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *photKeyAltSpace);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HotKeyCtrlAltDel )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long photKeyCtrlAltDel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HotKeyCtrlAltDel )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *photKeyCtrlAltDel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_orderDrawThreshold )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long porderDrawThreshold);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_orderDrawThreshold )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *porderDrawThreshold);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheSize )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pbitmapCacheSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheSize )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pbitmapCacheSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCacheSize )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pbitmapVirtualCacheSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCacheSize )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pbitmapVirtualCacheSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleBitmapCachesByBPP )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pbScale);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleBitmapCachesByBPP )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pbScale);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumBitmapCaches )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pnumBitmapCaches);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumBitmapCaches )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pnumBitmapCaches);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CachePersistenceActive )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pcachePersistenceActive);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CachePersistenceActive )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pcachePersistenceActive);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PersistCacheDirectory )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_brushSupportLevel )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pbrushSupportLevel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_brushSupportLevel )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pbrushSupportLevel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_minInputSendInterval )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pminInputSendInterval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_minInputSendInterval )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pminInputSendInterval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InputEventsAtOnce )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pinputEventsAtOnce);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InputEventsAtOnce )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pinputEventsAtOnce);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_maxEventCount )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pmaxEventCount);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_maxEventCount )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pmaxEventCount);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_keepAliveInterval )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pkeepAliveInterval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_keepAliveInterval )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pkeepAliveInterval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_shutdownTimeout )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pshutdownTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_shutdownTimeout )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pshutdownTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_overallConnectionTimeout )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long poverallConnectionTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_overallConnectionTimeout )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *poverallConnectionTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_singleConnectionTimeout )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long psingleConnectionTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_singleConnectionTimeout )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *psingleConnectionTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardType )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pkeyboardType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardType )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pkeyboardType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardSubType )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pkeyboardSubType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardSubType )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pkeyboardSubType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardFunctionKey )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pkeyboardFunctionKey);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardFunctionKey )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pkeyboardFunctionKey);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WinceFixedPalette )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pwinceFixedPalette);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WinceFixedPalette )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pwinceFixedPalette);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectToServerConsole )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pConnectToConsole);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectToServerConsole )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pConnectToConsole);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapPersistence )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pbitmapPersistence);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapPersistence )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pbitmapPersistence);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinutesToIdleTimeout )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pminutesToIdleTimeout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinutesToIdleTimeout )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pminutesToIdleTimeout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SmartSizing )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pfSmartSizing);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartSizing )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pfSmartSizing);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrLocalPrintingDocName )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ BSTR pLocalPrintingDocName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrLocalPrintingDocName )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ BSTR *pLocalPrintingDocName);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipCleanTempDirString )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ BSTR clipCleanTempDirString);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipCleanTempDirString )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ BSTR *clipCleanTempDirString);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RdpdrClipPasteInfoString )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ BSTR clipPasteInfoString);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RdpdrClipPasteInfoString )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ BSTR *clipPasteInfoString);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ BSTR rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayConnectionBar )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pDisplayConnectionBar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayConnectionBar )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pDisplayConnectionBar);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PinConnectionBar )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pPinConnectionBar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PinConnectionBar )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pPinConnectionBar);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GrabFocusOnConnect )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pfGrabFocusOnConnect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GrabFocusOnConnect )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pfGrabFocusOnConnect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LoadBalanceInfo )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ BSTR pLBInfo);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LoadBalanceInfo )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ BSTR *pLBInfo);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectDrives )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pRedirectDrives);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectDrives )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectDrives);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPrinters )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pRedirectPrinters);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPrinters )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectPrinters);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectPorts )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pRedirectPorts);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectPorts )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectPorts);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RedirectSmartCards )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pRedirectSmartCards);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RedirectSmartCards )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pRedirectSmartCards);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache16BppSize )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pBitmapVirtualCache16BppSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache16BppSize )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pBitmapVirtualCache16BppSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapVirtualCache24BppSize )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pBitmapVirtualCache24BppSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapVirtualCache24BppSize )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pBitmapVirtualCache24BppSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceFlags )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pDisableList);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceFlags )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pDisableList);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectWithEndpoint )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT *rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotifyTSPublicKey )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pfNotify);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotifyTSPublicKey )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pfNotify);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAutoReconnect )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pfCanAutoReconnect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableAutoReconnect )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pfEnableAutoReconnect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableAutoReconnect )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pfEnableAutoReconnect);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaxReconnectAttempts )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ long pMaxReconnectAttempts);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaxReconnectAttempts )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ long *pMaxReconnectAttempts);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowMinimizeButton )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pfShowMinimize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowMinimizeButton )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pfShowMinimize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectionBarShowRestoreButton )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ VARIANT_BOOL pfShowRestore);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionBarShowRestoreButton )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ VARIANT_BOOL *pfShowRestore);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AuthenticationLevel )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [in] */ unsigned int puiAuthLevel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AuthenticationLevel )( 
            IMsRdpClientAdvancedSettings4 * This,
            /* [retval][out] */ unsigned int *puiAuthLevel);
        
        END_INTERFACE
    } IMsRdpClientAdvancedSettings4Vtbl;

    interface IMsRdpClientAdvancedSettings4
    {
        CONST_VTBL struct IMsRdpClientAdvancedSettings4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClientAdvancedSettings4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClientAdvancedSettings4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClientAdvancedSettings4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClientAdvancedSettings4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsRdpClientAdvancedSettings4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsRdpClientAdvancedSettings4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsRdpClientAdvancedSettings4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsRdpClientAdvancedSettings4_put_Compress(This,pcompress)	\
    ( (This)->lpVtbl -> put_Compress(This,pcompress) ) 

#define IMsRdpClientAdvancedSettings4_get_Compress(This,pcompress)	\
    ( (This)->lpVtbl -> get_Compress(This,pcompress) ) 

#define IMsRdpClientAdvancedSettings4_put_BitmapPeristence(This,pbitmapPeristence)	\
    ( (This)->lpVtbl -> put_BitmapPeristence(This,pbitmapPeristence) ) 

#define IMsRdpClientAdvancedSettings4_get_BitmapPeristence(This,pbitmapPeristence)	\
    ( (This)->lpVtbl -> get_BitmapPeristence(This,pbitmapPeristence) ) 

#define IMsRdpClientAdvancedSettings4_put_allowBackgroundInput(This,pallowBackgroundInput)	\
    ( (This)->lpVtbl -> put_allowBackgroundInput(This,pallowBackgroundInput) ) 

#define IMsRdpClientAdvancedSettings4_get_allowBackgroundInput(This,pallowBackgroundInput)	\
    ( (This)->lpVtbl -> get_allowBackgroundInput(This,pallowBackgroundInput) ) 

#define IMsRdpClientAdvancedSettings4_put_KeyBoardLayoutStr(This,rhs)	\
    ( (This)->lpVtbl -> put_KeyBoardLayoutStr(This,rhs) ) 

#define IMsRdpClientAdvancedSettings4_put_PluginDlls(This,rhs)	\
    ( (This)->lpVtbl -> put_PluginDlls(This,rhs) ) 

#define IMsRdpClientAdvancedSettings4_put_IconFile(This,rhs)	\
    ( (This)->lpVtbl -> put_IconFile(This,rhs) ) 

#define IMsRdpClientAdvancedSettings4_put_IconIndex(This,rhs)	\
    ( (This)->lpVtbl -> put_IconIndex(This,rhs) ) 

#define IMsRdpClientAdvancedSettings4_put_ContainerHandledFullScreen(This,pContainerHandledFullScreen)	\
    ( (This)->lpVtbl -> put_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) 

#define IMsRdpClientAdvancedSettings4_get_ContainerHandledFullScreen(This,pContainerHandledFullScreen)	\
    ( (This)->lpVtbl -> get_ContainerHandledFullScreen(This,pContainerHandledFullScreen) ) 

#define IMsRdpClientAdvancedSettings4_put_DisableRdpdr(This,pDisableRdpdr)	\
    ( (This)->lpVtbl -> put_DisableRdpdr(This,pDisableRdpdr) ) 

#define IMsRdpClientAdvancedSettings4_get_DisableRdpdr(This,pDisableRdpdr)	\
    ( (This)->lpVtbl -> get_DisableRdpdr(This,pDisableRdpdr) ) 


#define IMsRdpClientAdvancedSettings4_put_SmoothScroll(This,psmoothScroll)	\
    ( (This)->lpVtbl -> put_SmoothScroll(This,psmoothScroll) ) 

#define IMsRdpClientAdvancedSettings4_get_SmoothScroll(This,psmoothScroll)	\
    ( (This)->lpVtbl -> get_SmoothScroll(This,psmoothScroll) ) 

#define IMsRdpClientAdvancedSettings4_put_AcceleratorPassthrough(This,pacceleratorPassthrough)	\
    ( (This)->lpVtbl -> put_AcceleratorPassthrough(This,pacceleratorPassthrough) ) 

#define IMsRdpClientAdvancedSettings4_get_AcceleratorPassthrough(This,pacceleratorPassthrough)	\
    ( (This)->lpVtbl -> get_AcceleratorPassthrough(This,pacceleratorPassthrough) ) 

#define IMsRdpClientAdvancedSettings4_put_ShadowBitmap(This,pshadowBitmap)	\
    ( (This)->lpVtbl -> put_ShadowBitmap(This,pshadowBitmap) ) 

#define IMsRdpClientAdvancedSettings4_get_ShadowBitmap(This,pshadowBitmap)	\
    ( (This)->lpVtbl -> get_ShadowBitmap(This,pshadowBitmap) ) 

#define IMsRdpClientAdvancedSettings4_put_TransportType(This,ptransportType)	\
    ( (This)->lpVtbl -> put_TransportType(This,ptransportType) ) 

#define IMsRdpClientAdvancedSettings4_get_TransportType(This,ptransportType)	\
    ( (This)->lpVtbl -> get_TransportType(This,ptransportType) ) 

#define IMsRdpClientAdvancedSettings4_put_SasSequence(This,psasSequence)	\
    ( (This)->lpVtbl -> put_SasSequence(This,psasSequence) ) 

#define IMsRdpClientAdvancedSettings4_get_SasSequence(This,psasSequence)	\
    ( (This)->lpVtbl -> get_SasSequence(This,psasSequence) ) 

#define IMsRdpClientAdvancedSettings4_put_EncryptionEnabled(This,pencryptionEnabled)	\
    ( (This)->lpVtbl -> put_EncryptionEnabled(This,pencryptionEnabled) ) 

#define IMsRdpClientAdvancedSettings4_get_EncryptionEnabled(This,pencryptionEnabled)	\
    ( (This)->lpVtbl -> get_EncryptionEnabled(This,pencryptionEnabled) ) 

#define IMsRdpClientAdvancedSettings4_put_DedicatedTerminal(This,pdedicatedTerminal)	\
    ( (This)->lpVtbl -> put_DedicatedTerminal(This,pdedicatedTerminal) ) 

#define IMsRdpClientAdvancedSettings4_get_DedicatedTerminal(This,pdedicatedTerminal)	\
    ( (This)->lpVtbl -> get_DedicatedTerminal(This,pdedicatedTerminal) ) 

#define IMsRdpClientAdvancedSettings4_put_RDPPort(This,prdpPort)	\
    ( (This)->lpVtbl -> put_RDPPort(This,prdpPort) ) 

#define IMsRdpClientAdvancedSettings4_get_RDPPort(This,prdpPort)	\
    ( (This)->lpVtbl -> get_RDPPort(This,prdpPort) ) 

#define IMsRdpClientAdvancedSettings4_put_EnableMouse(This,penableMouse)	\
    ( (This)->lpVtbl -> put_EnableMouse(This,penableMouse) ) 

#define IMsRdpClientAdvancedSettings4_get_EnableMouse(This,penableMouse)	\
    ( (This)->lpVtbl -> get_EnableMouse(This,penableMouse) ) 

#define IMsRdpClientAdvancedSettings4_put_DisableCtrlAltDel(This,pdisableCtrlAltDel)	\
    ( (This)->lpVtbl -> put_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings4_get_DisableCtrlAltDel(This,pdisableCtrlAltDel)	\
    ( (This)->lpVtbl -> get_DisableCtrlAltDel(This,pdisableCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings4_put_EnableWindowsKey(This,penableWindowsKey)	\
    ( (This)->lpVtbl -> put_EnableWindowsKey(This,penableWindowsKey) ) 

#define IMsRdpClientAdvancedSettings4_get_EnableWindowsKey(This,penableWindowsKey)	\
    ( (This)->lpVtbl -> get_EnableWindowsKey(This,penableWindowsKey) ) 

#define IMsRdpClientAdvancedSettings4_put_DoubleClickDetect(This,pdoubleClickDetect)	\
    ( (This)->lpVtbl -> put_DoubleClickDetect(This,pdoubleClickDetect) ) 

#define IMsRdpClientAdvancedSettings4_get_DoubleClickDetect(This,pdoubleClickDetect)	\
    ( (This)->lpVtbl -> get_DoubleClickDetect(This,pdoubleClickDetect) ) 

#define IMsRdpClientAdvancedSettings4_put_MaximizeShell(This,pmaximizeShell)	\
    ( (This)->lpVtbl -> put_MaximizeShell(This,pmaximizeShell) ) 

#define IMsRdpClientAdvancedSettings4_get_MaximizeShell(This,pmaximizeShell)	\
    ( (This)->lpVtbl -> get_MaximizeShell(This,pmaximizeShell) ) 

#define IMsRdpClientAdvancedSettings4_put_HotKeyFullScreen(This,photKeyFullScreen)	\
    ( (This)->lpVtbl -> put_HotKeyFullScreen(This,photKeyFullScreen) ) 

#define IMsRdpClientAdvancedSettings4_get_HotKeyFullScreen(This,photKeyFullScreen)	\
    ( (This)->lpVtbl -> get_HotKeyFullScreen(This,photKeyFullScreen) ) 

#define IMsRdpClientAdvancedSettings4_put_HotKeyCtrlEsc(This,photKeyCtrlEsc)	\
    ( (This)->lpVtbl -> put_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) 

#define IMsRdpClientAdvancedSettings4_get_HotKeyCtrlEsc(This,photKeyCtrlEsc)	\
    ( (This)->lpVtbl -> get_HotKeyCtrlEsc(This,photKeyCtrlEsc) ) 

#define IMsRdpClientAdvancedSettings4_put_HotKeyAltEsc(This,photKeyAltEsc)	\
    ( (This)->lpVtbl -> put_HotKeyAltEsc(This,photKeyAltEsc) ) 

#define IMsRdpClientAdvancedSettings4_get_HotKeyAltEsc(This,photKeyAltEsc)	\
    ( (This)->lpVtbl -> get_HotKeyAltEsc(This,photKeyAltEsc) ) 

#define IMsRdpClientAdvancedSettings4_put_HotKeyAltTab(This,photKeyAltTab)	\
    ( (This)->lpVtbl -> put_HotKeyAltTab(This,photKeyAltTab) ) 

#define IMsRdpClientAdvancedSettings4_get_HotKeyAltTab(This,photKeyAltTab)	\
    ( (This)->lpVtbl -> get_HotKeyAltTab(This,photKeyAltTab) ) 

#define IMsRdpClientAdvancedSettings4_put_HotKeyAltShiftTab(This,photKeyAltShiftTab)	\
    ( (This)->lpVtbl -> put_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) 

#define IMsRdpClientAdvancedSettings4_get_HotKeyAltShiftTab(This,photKeyAltShiftTab)	\
    ( (This)->lpVtbl -> get_HotKeyAltShiftTab(This,photKeyAltShiftTab) ) 

#define IMsRdpClientAdvancedSettings4_put_HotKeyAltSpace(This,photKeyAltSpace)	\
    ( (This)->lpVtbl -> put_HotKeyAltSpace(This,photKeyAltSpace) ) 

#define IMsRdpClientAdvancedSettings4_get_HotKeyAltSpace(This,photKeyAltSpace)	\
    ( (This)->lpVtbl -> get_HotKeyAltSpace(This,photKeyAltSpace) ) 

#define IMsRdpClientAdvancedSettings4_put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel)	\
    ( (This)->lpVtbl -> put_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings4_get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel)	\
    ( (This)->lpVtbl -> get_HotKeyCtrlAltDel(This,photKeyCtrlAltDel) ) 

#define IMsRdpClientAdvancedSettings4_put_orderDrawThreshold(This,porderDrawThreshold)	\
    ( (This)->lpVtbl -> put_orderDrawThreshold(This,porderDrawThreshold) ) 

#define IMsRdpClientAdvancedSettings4_get_orderDrawThreshold(This,porderDrawThreshold)	\
    ( (This)->lpVtbl -> get_orderDrawThreshold(This,porderDrawThreshold) ) 

#define IMsRdpClientAdvancedSettings4_put_BitmapCacheSize(This,pbitmapCacheSize)	\
    ( (This)->lpVtbl -> put_BitmapCacheSize(This,pbitmapCacheSize) ) 

#define IMsRdpClientAdvancedSettings4_get_BitmapCacheSize(This,pbitmapCacheSize)	\
    ( (This)->lpVtbl -> get_BitmapCacheSize(This,pbitmapCacheSize) ) 

#define IMsRdpClientAdvancedSettings4_put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) 

#define IMsRdpClientAdvancedSettings4_get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCacheSize(This,pbitmapVirtualCacheSize) ) 

#define IMsRdpClientAdvancedSettings4_put_ScaleBitmapCachesByBPP(This,pbScale)	\
    ( (This)->lpVtbl -> put_ScaleBitmapCachesByBPP(This,pbScale) ) 

#define IMsRdpClientAdvancedSettings4_get_ScaleBitmapCachesByBPP(This,pbScale)	\
    ( (This)->lpVtbl -> get_ScaleBitmapCachesByBPP(This,pbScale) ) 

#define IMsRdpClientAdvancedSettings4_put_NumBitmapCaches(This,pnumBitmapCaches)	\
    ( (This)->lpVtbl -> put_NumBitmapCaches(This,pnumBitmapCaches) ) 

#define IMsRdpClientAdvancedSettings4_get_NumBitmapCaches(This,pnumBitmapCaches)	\
    ( (This)->lpVtbl -> get_NumBitmapCaches(This,pnumBitmapCaches) ) 

#define IMsRdpClientAdvancedSettings4_put_CachePersistenceActive(This,pcachePersistenceActive)	\
    ( (This)->lpVtbl -> put_CachePersistenceActive(This,pcachePersistenceActive) ) 

#define IMsRdpClientAdvancedSettings4_get_CachePersistenceActive(This,pcachePersistenceActive)	\
    ( (This)->lpVtbl -> get_CachePersistenceActive(This,pcachePersistenceActive) ) 

#define IMsRdpClientAdvancedSettings4_put_PersistCacheDirectory(This,rhs)	\
    ( (This)->lpVtbl -> put_PersistCacheDirectory(This,rhs) ) 

#define IMsRdpClientAdvancedSettings4_put_brushSupportLevel(This,pbrushSupportLevel)	\
    ( (This)->lpVtbl -> put_brushSupportLevel(This,pbrushSupportLevel) ) 

#define IMsRdpClientAdvancedSettings4_get_brushSupportLevel(This,pbrushSupportLevel)	\
    ( (This)->lpVtbl -> get_brushSupportLevel(This,pbrushSupportLevel) ) 

#define IMsRdpClientAdvancedSettings4_put_minInputSendInterval(This,pminInputSendInterval)	\
    ( (This)->lpVtbl -> put_minInputSendInterval(This,pminInputSendInterval) ) 

#define IMsRdpClientAdvancedSettings4_get_minInputSendInterval(This,pminInputSendInterval)	\
    ( (This)->lpVtbl -> get_minInputSendInterval(This,pminInputSendInterval) ) 

#define IMsRdpClientAdvancedSettings4_put_InputEventsAtOnce(This,pinputEventsAtOnce)	\
    ( (This)->lpVtbl -> put_InputEventsAtOnce(This,pinputEventsAtOnce) ) 

#define IMsRdpClientAdvancedSettings4_get_InputEventsAtOnce(This,pinputEventsAtOnce)	\
    ( (This)->lpVtbl -> get_InputEventsAtOnce(This,pinputEventsAtOnce) ) 

#define IMsRdpClientAdvancedSettings4_put_maxEventCount(This,pmaxEventCount)	\
    ( (This)->lpVtbl -> put_maxEventCount(This,pmaxEventCount) ) 

#define IMsRdpClientAdvancedSettings4_get_maxEventCount(This,pmaxEventCount)	\
    ( (This)->lpVtbl -> get_maxEventCount(This,pmaxEventCount) ) 

#define IMsRdpClientAdvancedSettings4_put_keepAliveInterval(This,pkeepAliveInterval)	\
    ( (This)->lpVtbl -> put_keepAliveInterval(This,pkeepAliveInterval) ) 

#define IMsRdpClientAdvancedSettings4_get_keepAliveInterval(This,pkeepAliveInterval)	\
    ( (This)->lpVtbl -> get_keepAliveInterval(This,pkeepAliveInterval) ) 

#define IMsRdpClientAdvancedSettings4_put_shutdownTimeout(This,pshutdownTimeout)	\
    ( (This)->lpVtbl -> put_shutdownTimeout(This,pshutdownTimeout) ) 

#define IMsRdpClientAdvancedSettings4_get_shutdownTimeout(This,pshutdownTimeout)	\
    ( (This)->lpVtbl -> get_shutdownTimeout(This,pshutdownTimeout) ) 

#define IMsRdpClientAdvancedSettings4_put_overallConnectionTimeout(This,poverallConnectionTimeout)	\
    ( (This)->lpVtbl -> put_overallConnectionTimeout(This,poverallConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings4_get_overallConnectionTimeout(This,poverallConnectionTimeout)	\
    ( (This)->lpVtbl -> get_overallConnectionTimeout(This,poverallConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings4_put_singleConnectionTimeout(This,psingleConnectionTimeout)	\
    ( (This)->lpVtbl -> put_singleConnectionTimeout(This,psingleConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings4_get_singleConnectionTimeout(This,psingleConnectionTimeout)	\
    ( (This)->lpVtbl -> get_singleConnectionTimeout(This,psingleConnectionTimeout) ) 

#define IMsRdpClientAdvancedSettings4_put_KeyboardType(This,pkeyboardType)	\
    ( (This)->lpVtbl -> put_KeyboardType(This,pkeyboardType) ) 

#define IMsRdpClientAdvancedSettings4_get_KeyboardType(This,pkeyboardType)	\
    ( (This)->lpVtbl -> get_KeyboardType(This,pkeyboardType) ) 

#define IMsRdpClientAdvancedSettings4_put_KeyboardSubType(This,pkeyboardSubType)	\
    ( (This)->lpVtbl -> put_KeyboardSubType(This,pkeyboardSubType) ) 

#define IMsRdpClientAdvancedSettings4_get_KeyboardSubType(This,pkeyboardSubType)	\
    ( (This)->lpVtbl -> get_KeyboardSubType(This,pkeyboardSubType) ) 

#define IMsRdpClientAdvancedSettings4_put_KeyboardFunctionKey(This,pkeyboardFunctionKey)	\
    ( (This)->lpVtbl -> put_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) 

#define IMsRdpClientAdvancedSettings4_get_KeyboardFunctionKey(This,pkeyboardFunctionKey)	\
    ( (This)->lpVtbl -> get_KeyboardFunctionKey(This,pkeyboardFunctionKey) ) 

#define IMsRdpClientAdvancedSettings4_put_WinceFixedPalette(This,pwinceFixedPalette)	\
    ( (This)->lpVtbl -> put_WinceFixedPalette(This,pwinceFixedPalette) ) 

#define IMsRdpClientAdvancedSettings4_get_WinceFixedPalette(This,pwinceFixedPalette)	\
    ( (This)->lpVtbl -> get_WinceFixedPalette(This,pwinceFixedPalette) ) 

#define IMsRdpClientAdvancedSettings4_put_ConnectToServerConsole(This,pConnectToConsole)	\
    ( (This)->lpVtbl -> put_ConnectToServerConsole(This,pConnectToConsole) ) 

#define IMsRdpClientAdvancedSettings4_get_ConnectToServerConsole(This,pConnectToConsole)	\
    ( (This)->lpVtbl -> get_ConnectToServerConsole(This,pConnectToConsole) ) 

#define IMsRdpClientAdvancedSettings4_put_BitmapPersistence(This,pbitmapPersistence)	\
    ( (This)->lpVtbl -> put_BitmapPersistence(This,pbitmapPersistence) ) 

#define IMsRdpClientAdvancedSettings4_get_BitmapPersistence(This,pbitmapPersistence)	\
    ( (This)->lpVtbl -> get_BitmapPersistence(This,pbitmapPersistence) ) 

#define IMsRdpClientAdvancedSettings4_put_MinutesToIdleTimeout(This,pminutesToIdleTimeout)	\
    ( (This)->lpVtbl -> put_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) 

#define IMsRdpClientAdvancedSettings4_get_MinutesToIdleTimeout(This,pminutesToIdleTimeout)	\
    ( (This)->lpVtbl -> get_MinutesToIdleTimeout(This,pminutesToIdleTimeout) ) 

#define IMsRdpClientAdvancedSettings4_put_SmartSizing(This,pfSmartSizing)	\
    ( (This)->lpVtbl -> put_SmartSizing(This,pfSmartSizing) ) 

#define IMsRdpClientAdvancedSettings4_get_SmartSizing(This,pfSmartSizing)	\
    ( (This)->lpVtbl -> get_SmartSizing(This,pfSmartSizing) ) 

#define IMsRdpClientAdvancedSettings4_put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName)	\
    ( (This)->lpVtbl -> put_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) 

#define IMsRdpClientAdvancedSettings4_get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName)	\
    ( (This)->lpVtbl -> get_RdpdrLocalPrintingDocName(This,pLocalPrintingDocName) ) 

#define IMsRdpClientAdvancedSettings4_put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString)	\
    ( (This)->lpVtbl -> put_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) 

#define IMsRdpClientAdvancedSettings4_get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString)	\
    ( (This)->lpVtbl -> get_RdpdrClipCleanTempDirString(This,clipCleanTempDirString) ) 

#define IMsRdpClientAdvancedSettings4_put_RdpdrClipPasteInfoString(This,clipPasteInfoString)	\
    ( (This)->lpVtbl -> put_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) 

#define IMsRdpClientAdvancedSettings4_get_RdpdrClipPasteInfoString(This,clipPasteInfoString)	\
    ( (This)->lpVtbl -> get_RdpdrClipPasteInfoString(This,clipPasteInfoString) ) 

#define IMsRdpClientAdvancedSettings4_put_ClearTextPassword(This,rhs)	\
    ( (This)->lpVtbl -> put_ClearTextPassword(This,rhs) ) 

#define IMsRdpClientAdvancedSettings4_put_DisplayConnectionBar(This,pDisplayConnectionBar)	\
    ( (This)->lpVtbl -> put_DisplayConnectionBar(This,pDisplayConnectionBar) ) 

#define IMsRdpClientAdvancedSettings4_get_DisplayConnectionBar(This,pDisplayConnectionBar)	\
    ( (This)->lpVtbl -> get_DisplayConnectionBar(This,pDisplayConnectionBar) ) 

#define IMsRdpClientAdvancedSettings4_put_PinConnectionBar(This,pPinConnectionBar)	\
    ( (This)->lpVtbl -> put_PinConnectionBar(This,pPinConnectionBar) ) 

#define IMsRdpClientAdvancedSettings4_get_PinConnectionBar(This,pPinConnectionBar)	\
    ( (This)->lpVtbl -> get_PinConnectionBar(This,pPinConnectionBar) ) 

#define IMsRdpClientAdvancedSettings4_put_GrabFocusOnConnect(This,pfGrabFocusOnConnect)	\
    ( (This)->lpVtbl -> put_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) 

#define IMsRdpClientAdvancedSettings4_get_GrabFocusOnConnect(This,pfGrabFocusOnConnect)	\
    ( (This)->lpVtbl -> get_GrabFocusOnConnect(This,pfGrabFocusOnConnect) ) 

#define IMsRdpClientAdvancedSettings4_put_LoadBalanceInfo(This,pLBInfo)	\
    ( (This)->lpVtbl -> put_LoadBalanceInfo(This,pLBInfo) ) 

#define IMsRdpClientAdvancedSettings4_get_LoadBalanceInfo(This,pLBInfo)	\
    ( (This)->lpVtbl -> get_LoadBalanceInfo(This,pLBInfo) ) 

#define IMsRdpClientAdvancedSettings4_put_RedirectDrives(This,pRedirectDrives)	\
    ( (This)->lpVtbl -> put_RedirectDrives(This,pRedirectDrives) ) 

#define IMsRdpClientAdvancedSettings4_get_RedirectDrives(This,pRedirectDrives)	\
    ( (This)->lpVtbl -> get_RedirectDrives(This,pRedirectDrives) ) 

#define IMsRdpClientAdvancedSettings4_put_RedirectPrinters(This,pRedirectPrinters)	\
    ( (This)->lpVtbl -> put_RedirectPrinters(This,pRedirectPrinters) ) 

#define IMsRdpClientAdvancedSettings4_get_RedirectPrinters(This,pRedirectPrinters)	\
    ( (This)->lpVtbl -> get_RedirectPrinters(This,pRedirectPrinters) ) 

#define IMsRdpClientAdvancedSettings4_put_RedirectPorts(This,pRedirectPorts)	\
    ( (This)->lpVtbl -> put_RedirectPorts(This,pRedirectPorts) ) 

#define IMsRdpClientAdvancedSettings4_get_RedirectPorts(This,pRedirectPorts)	\
    ( (This)->lpVtbl -> get_RedirectPorts(This,pRedirectPorts) ) 

#define IMsRdpClientAdvancedSettings4_put_RedirectSmartCards(This,pRedirectSmartCards)	\
    ( (This)->lpVtbl -> put_RedirectSmartCards(This,pRedirectSmartCards) ) 

#define IMsRdpClientAdvancedSettings4_get_RedirectSmartCards(This,pRedirectSmartCards)	\
    ( (This)->lpVtbl -> get_RedirectSmartCards(This,pRedirectSmartCards) ) 

#define IMsRdpClientAdvancedSettings4_put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) 

#define IMsRdpClientAdvancedSettings4_get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCache16BppSize(This,pBitmapVirtualCache16BppSize) ) 

#define IMsRdpClientAdvancedSettings4_put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize)	\
    ( (This)->lpVtbl -> put_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) 

#define IMsRdpClientAdvancedSettings4_get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize)	\
    ( (This)->lpVtbl -> get_BitmapVirtualCache24BppSize(This,pBitmapVirtualCache24BppSize) ) 

#define IMsRdpClientAdvancedSettings4_put_PerformanceFlags(This,pDisableList)	\
    ( (This)->lpVtbl -> put_PerformanceFlags(This,pDisableList) ) 

#define IMsRdpClientAdvancedSettings4_get_PerformanceFlags(This,pDisableList)	\
    ( (This)->lpVtbl -> get_PerformanceFlags(This,pDisableList) ) 

#define IMsRdpClientAdvancedSettings4_put_ConnectWithEndpoint(This,rhs)	\
    ( (This)->lpVtbl -> put_ConnectWithEndpoint(This,rhs) ) 

#define IMsRdpClientAdvancedSettings4_put_NotifyTSPublicKey(This,pfNotify)	\
    ( (This)->lpVtbl -> put_NotifyTSPublicKey(This,pfNotify) ) 

#define IMsRdpClientAdvancedSettings4_get_NotifyTSPublicKey(This,pfNotify)	\
    ( (This)->lpVtbl -> get_NotifyTSPublicKey(This,pfNotify) ) 


#define IMsRdpClientAdvancedSettings4_get_CanAutoReconnect(This,pfCanAutoReconnect)	\
    ( (This)->lpVtbl -> get_CanAutoReconnect(This,pfCanAutoReconnect) ) 

#define IMsRdpClientAdvancedSettings4_put_EnableAutoReconnect(This,pfEnableAutoReconnect)	\
    ( (This)->lpVtbl -> put_EnableAutoReconnect(This,pfEnableAutoReconnect) ) 

#define IMsRdpClientAdvancedSettings4_get_EnableAutoReconnect(This,pfEnableAutoReconnect)	\
    ( (This)->lpVtbl -> get_EnableAutoReconnect(This,pfEnableAutoReconnect) ) 

#define IMsRdpClientAdvancedSettings4_put_MaxReconnectAttempts(This,pMaxReconnectAttempts)	\
    ( (This)->lpVtbl -> put_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) 

#define IMsRdpClientAdvancedSettings4_get_MaxReconnectAttempts(This,pMaxReconnectAttempts)	\
    ( (This)->lpVtbl -> get_MaxReconnectAttempts(This,pMaxReconnectAttempts) ) 


#define IMsRdpClientAdvancedSettings4_put_ConnectionBarShowMinimizeButton(This,pfShowMinimize)	\
    ( (This)->lpVtbl -> put_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) 

#define IMsRdpClientAdvancedSettings4_get_ConnectionBarShowMinimizeButton(This,pfShowMinimize)	\
    ( (This)->lpVtbl -> get_ConnectionBarShowMinimizeButton(This,pfShowMinimize) ) 

#define IMsRdpClientAdvancedSettings4_put_ConnectionBarShowRestoreButton(This,pfShowRestore)	\
    ( (This)->lpVtbl -> put_ConnectionBarShowRestoreButton(This,pfShowRestore) ) 

#define IMsRdpClientAdvancedSettings4_get_ConnectionBarShowRestoreButton(This,pfShowRestore)	\
    ( (This)->lpVtbl -> get_ConnectionBarShowRestoreButton(This,pfShowRestore) ) 


#define IMsRdpClientAdvancedSettings4_put_AuthenticationLevel(This,puiAuthLevel)	\
    ( (This)->lpVtbl -> put_AuthenticationLevel(This,puiAuthLevel) ) 

#define IMsRdpClientAdvancedSettings4_get_AuthenticationLevel(This,puiAuthLevel)	\
    ( (This)->lpVtbl -> get_AuthenticationLevel(This,puiAuthLevel) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings4_put_AuthenticationLevel_Proxy( 
    IMsRdpClientAdvancedSettings4 * This,
    /* [in] */ unsigned int puiAuthLevel);


void __RPC_STUB IMsRdpClientAdvancedSettings4_put_AuthenticationLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsRdpClientAdvancedSettings4_get_AuthenticationLevel_Proxy( 
    IMsRdpClientAdvancedSettings4 * This,
    /* [retval][out] */ unsigned int *puiAuthLevel);


void __RPC_STUB IMsRdpClientAdvancedSettings4_get_AuthenticationLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IMsRdpClientAdvancedSettings4_INTERFACE_DEFINED__ */


#ifndef __IMsTscSecuredSettings_INTERFACE_DEFINED__
#define __IMsTscSecuredSettings_INTERFACE_DEFINED__

/* interface IMsTscSecuredSettings */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsTscSecuredSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C9D65442-A0F9-45B2-8F73-D61D2DB8CBB6")
    IMsTscSecuredSettings : public IDispatch
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_StartProgram( 
            /* [in] */ BSTR pStartProgram) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_StartProgram( 
            /* [retval][out] */ BSTR *pStartProgram) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WorkDir( 
            /* [in] */ BSTR pWorkDir) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WorkDir( 
            /* [retval][out] */ BSTR *pWorkDir) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FullScreen( 
            /* [in] */ long pfFullScreen) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FullScreen( 
            /* [retval][out] */ long *pfFullScreen) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsTscSecuredSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsTscSecuredSettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsTscSecuredSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsTscSecuredSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsTscSecuredSettings * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsTscSecuredSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsTscSecuredSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsTscSecuredSettings * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartProgram )( 
            IMsTscSecuredSettings * This,
            /* [in] */ BSTR pStartProgram);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartProgram )( 
            IMsTscSecuredSettings * This,
            /* [retval][out] */ BSTR *pStartProgram);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WorkDir )( 
            IMsTscSecuredSettings * This,
            /* [in] */ BSTR pWorkDir);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WorkDir )( 
            IMsTscSecuredSettings * This,
            /* [retval][out] */ BSTR *pWorkDir);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( 
            IMsTscSecuredSettings * This,
            /* [in] */ long pfFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( 
            IMsTscSecuredSettings * This,
            /* [retval][out] */ long *pfFullScreen);
        
        END_INTERFACE
    } IMsTscSecuredSettingsVtbl;

    interface IMsTscSecuredSettings
    {
        CONST_VTBL struct IMsTscSecuredSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsTscSecuredSettings_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsTscSecuredSettings_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsTscSecuredSettings_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsTscSecuredSettings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsTscSecuredSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsTscSecuredSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsTscSecuredSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsTscSecuredSettings_put_StartProgram(This,pStartProgram)	\
    ( (This)->lpVtbl -> put_StartProgram(This,pStartProgram) ) 

#define IMsTscSecuredSettings_get_StartProgram(This,pStartProgram)	\
    ( (This)->lpVtbl -> get_StartProgram(This,pStartProgram) ) 

#define IMsTscSecuredSettings_put_WorkDir(This,pWorkDir)	\
    ( (This)->lpVtbl -> put_WorkDir(This,pWorkDir) ) 

#define IMsTscSecuredSettings_get_WorkDir(This,pWorkDir)	\
    ( (This)->lpVtbl -> get_WorkDir(This,pWorkDir) ) 

#define IMsTscSecuredSettings_put_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) 

#define IMsTscSecuredSettings_get_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsTscSecuredSettings_INTERFACE_DEFINED__ */


#ifndef __IMsRdpClientSecuredSettings_INTERFACE_DEFINED__
#define __IMsRdpClientSecuredSettings_INTERFACE_DEFINED__

/* interface IMsRdpClientSecuredSettings */
/* [object][oleautomation][dual][uuid] */ 


EXTERN_C const IID IID_IMsRdpClientSecuredSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("605BEFCF-39C1-45CC-A811-068FB7BE346D")
    IMsRdpClientSecuredSettings : public IMsTscSecuredSettings
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardHookMode( 
            /* [in] */ long pkeyboardHookMode) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardHookMode( 
            /* [retval][out] */ long *pkeyboardHookMode) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AudioRedirectionMode( 
            /* [in] */ long pAudioRedirectionMode) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AudioRedirectionMode( 
            /* [retval][out] */ long *pAudioRedirectionMode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsRdpClientSecuredSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsRdpClientSecuredSettings * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsRdpClientSecuredSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsRdpClientSecuredSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsRdpClientSecuredSettings * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsRdpClientSecuredSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsRdpClientSecuredSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsRdpClientSecuredSettings * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartProgram )( 
            IMsRdpClientSecuredSettings * This,
            /* [in] */ BSTR pStartProgram);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartProgram )( 
            IMsRdpClientSecuredSettings * This,
            /* [retval][out] */ BSTR *pStartProgram);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WorkDir )( 
            IMsRdpClientSecuredSettings * This,
            /* [in] */ BSTR pWorkDir);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WorkDir )( 
            IMsRdpClientSecuredSettings * This,
            /* [retval][out] */ BSTR *pWorkDir);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( 
            IMsRdpClientSecuredSettings * This,
            /* [in] */ long pfFullScreen);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( 
            IMsRdpClientSecuredSettings * This,
            /* [retval][out] */ long *pfFullScreen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardHookMode )( 
            IMsRdpClientSecuredSettings * This,
            /* [in] */ long pkeyboardHookMode);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardHookMode )( 
            IMsRdpClientSecuredSettings * This,
            /* [retval][out] */ long *pkeyboardHookMode);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AudioRedirectionMode )( 
            IMsRdpClientSecuredSettings * This,
            /* [in] */ long pAudioRedirectionMode);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AudioRedirectionMode )( 
            IMsRdpClientSecuredSettings * This,
            /* [retval][out] */ long *pAudioRedirectionMode);
        
        END_INTERFACE
    } IMsRdpClientSecuredSettingsVtbl;

    interface IMsRdpClientSecuredSettings
    {
        CONST_VTBL struct IMsRdpClientSecuredSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsRdpClientSecuredSettings_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsRdpClientSecuredSettings_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsRdpClientSecuredSettings_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsRdpClientSecuredSettings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsRdpClientSecuredSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsRdpClientSecuredSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsRdpClientSecuredSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsRdpClientSecuredSettings_put_StartProgram(This,pStartProgram)	\
    ( (This)->lpVtbl -> put_StartProgram(This,pStartProgram) ) 

#define IMsRdpClientSecuredSettings_get_StartProgram(This,pStartProgram)	\
    ( (This)->lpVtbl -> get_StartProgram(This,pStartProgram) ) 

#define IMsRdpClientSecuredSettings_put_WorkDir(This,pWorkDir)	\
    ( (This)->lpVtbl -> put_WorkDir(This,pWorkDir) ) 

#define IMsRdpClientSecuredSettings_get_WorkDir(This,pWorkDir)	\
    ( (This)->lpVtbl -> get_WorkDir(This,pWorkDir) ) 

#define IMsRdpClientSecuredSettings_put_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> put_FullScreen(This,pfFullScreen) ) 

#define IMsRdpClientSecuredSettings_get_FullScreen(This,pfFullScreen)	\
    ( (This)->lpVtbl -> get_FullScreen(This,pfFullScreen) ) 


#define IMsRdpClientSecuredSettings_put_KeyboardHookMode(This,pkeyboardHookMode)	\
    ( (This)->lpVtbl -> put_KeyboardHookMode(This,pkeyboardHookMode) ) 

#define IMsRdpClientSecuredSettings_get_KeyboardHookMode(This,pkeyboardHookMode)	\
    ( (This)->lpVtbl -> get_KeyboardHookMode(This,pkeyboardHookMode) ) 

#define IMsRdpClientSecuredSettings_put_AudioRedirectionMode(This,pAudioRedirectionMode)	\
    ( (This)->lpVtbl -> put_AudioRedirectionMode(This,pAudioRedirectionMode) ) 

#define IMsRdpClientSecuredSettings_get_AudioRedirectionMode(This,pAudioRedirectionMode)	\
    ( (This)->lpVtbl -> get_AudioRedirectionMode(This,pAudioRedirectionMode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsRdpClientSecuredSettings_INTERFACE_DEFINED__ */


#ifndef __IMsTscDebug_INTERFACE_DEFINED__
#define __IMsTscDebug_INTERFACE_DEFINED__

/* interface IMsTscDebug */
/* [object][oleautomation][dual][hidden][uuid] */ 


EXTERN_C const IID IID_IMsTscDebug;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("209D0EB9-6254-47B1-9033-A98DAE55BB27")
    IMsTscDebug : public IDispatch
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchBitmapPDU( 
            /* [in] */ long phatchBitmapPDU) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchBitmapPDU( 
            /* [retval][out] */ long *phatchBitmapPDU) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchSSBOrder( 
            /* [in] */ long phatchSSBOrder) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchSSBOrder( 
            /* [retval][out] */ long *phatchSSBOrder) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchMembltOrder( 
            /* [in] */ long phatchMembltOrder) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchMembltOrder( 
            /* [retval][out] */ long *phatchMembltOrder) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HatchIndexPDU( 
            /* [in] */ long phatchIndexPDU) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HatchIndexPDU( 
            /* [retval][out] */ long *phatchIndexPDU) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LabelMemblt( 
            /* [in] */ long plabelMemblt) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LabelMemblt( 
            /* [retval][out] */ long *plabelMemblt) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BitmapCacheMonitor( 
            /* [in] */ long pbitmapCacheMonitor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BitmapCacheMonitor( 
            /* [retval][out] */ long *pbitmapCacheMonitor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MallocFailuresPercent( 
            /* [in] */ long pmallocFailuresPercent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MallocFailuresPercent( 
            /* [retval][out] */ long *pmallocFailuresPercent) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MallocHugeFailuresPercent( 
            /* [in] */ long pmallocHugeFailuresPercent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MallocHugeFailuresPercent( 
            /* [retval][out] */ long *pmallocHugeFailuresPercent) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NetThroughput( 
            /* [in] */ long NetThroughput) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NetThroughput( 
            /* [retval][out] */ long *NetThroughput) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CLXCmdLine( 
            /* [in] */ BSTR pCLXCmdLine) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CLXCmdLine( 
            /* [retval][out] */ BSTR *pCLXCmdLine) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CLXDll( 
            /* [in] */ BSTR pCLXDll) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CLXDll( 
            /* [retval][out] */ BSTR *pCLXDll) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsTscDebugVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsTscDebug * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsTscDebug * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsTscDebug * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsTscDebug * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsTscDebug * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsTscDebug * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsTscDebug * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchBitmapPDU )( 
            IMsTscDebug * This,
            /* [in] */ long phatchBitmapPDU);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchBitmapPDU )( 
            IMsTscDebug * This,
            /* [retval][out] */ long *phatchBitmapPDU);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchSSBOrder )( 
            IMsTscDebug * This,
            /* [in] */ long phatchSSBOrder);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchSSBOrder )( 
            IMsTscDebug * This,
            /* [retval][out] */ long *phatchSSBOrder);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchMembltOrder )( 
            IMsTscDebug * This,
            /* [in] */ long phatchMembltOrder);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchMembltOrder )( 
            IMsTscDebug * This,
            /* [retval][out] */ long *phatchMembltOrder);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HatchIndexPDU )( 
            IMsTscDebug * This,
            /* [in] */ long phatchIndexPDU);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HatchIndexPDU )( 
            IMsTscDebug * This,
            /* [retval][out] */ long *phatchIndexPDU);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LabelMemblt )( 
            IMsTscDebug * This,
            /* [in] */ long plabelMemblt);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LabelMemblt )( 
            IMsTscDebug * This,
            /* [retval][out] */ long *plabelMemblt);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BitmapCacheMonitor )( 
            IMsTscDebug * This,
            /* [in] */ long pbitmapCacheMonitor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BitmapCacheMonitor )( 
            IMsTscDebug * This,
            /* [retval][out] */ long *pbitmapCacheMonitor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MallocFailuresPercent )( 
            IMsTscDebug * This,
            /* [in] */ long pmallocFailuresPercent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MallocFailuresPercent )( 
            IMsTscDebug * This,
            /* [retval][out] */ long *pmallocFailuresPercent);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MallocHugeFailuresPercent )( 
            IMsTscDebug * This,
            /* [in] */ long pmallocHugeFailuresPercent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MallocHugeFailuresPercent )( 
            IMsTscDebug * This,
            /* [retval][out] */ long *pmallocHugeFailuresPercent);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NetThroughput )( 
            IMsTscDebug * This,
            /* [in] */ long NetThroughput);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NetThroughput )( 
            IMsTscDebug * This,
            /* [retval][out] */ long *NetThroughput);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CLXCmdLine )( 
            IMsTscDebug * This,
            /* [in] */ BSTR pCLXCmdLine);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CLXCmdLine )( 
            IMsTscDebug * This,
            /* [retval][out] */ BSTR *pCLXCmdLine);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CLXDll )( 
            IMsTscDebug * This,
            /* [in] */ BSTR pCLXDll);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CLXDll )( 
            IMsTscDebug * This,
            /* [retval][out] */ BSTR *pCLXDll);
        
        END_INTERFACE
    } IMsTscDebugVtbl;

    interface IMsTscDebug
    {
        CONST_VTBL struct IMsTscDebugVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsTscDebug_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsTscDebug_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsTscDebug_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsTscDebug_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsTscDebug_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsTscDebug_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsTscDebug_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsTscDebug_put_HatchBitmapPDU(This,phatchBitmapPDU)	\
    ( (This)->lpVtbl -> put_HatchBitmapPDU(This,phatchBitmapPDU) ) 

#define IMsTscDebug_get_HatchBitmapPDU(This,phatchBitmapPDU)	\
    ( (This)->lpVtbl -> get_HatchBitmapPDU(This,phatchBitmapPDU) ) 

#define IMsTscDebug_put_HatchSSBOrder(This,phatchSSBOrder)	\
    ( (This)->lpVtbl -> put_HatchSSBOrder(This,phatchSSBOrder) ) 

#define IMsTscDebug_get_HatchSSBOrder(This,phatchSSBOrder)	\
    ( (This)->lpVtbl -> get_HatchSSBOrder(This,phatchSSBOrder) ) 

#define IMsTscDebug_put_HatchMembltOrder(This,phatchMembltOrder)	\
    ( (This)->lpVtbl -> put_HatchMembltOrder(This,phatchMembltOrder) ) 

#define IMsTscDebug_get_HatchMembltOrder(This,phatchMembltOrder)	\
    ( (This)->lpVtbl -> get_HatchMembltOrder(This,phatchMembltOrder) ) 

#define IMsTscDebug_put_HatchIndexPDU(This,phatchIndexPDU)	\
    ( (This)->lpVtbl -> put_HatchIndexPDU(This,phatchIndexPDU) ) 

#define IMsTscDebug_get_HatchIndexPDU(This,phatchIndexPDU)	\
    ( (This)->lpVtbl -> get_HatchIndexPDU(This,phatchIndexPDU) ) 

#define IMsTscDebug_put_LabelMemblt(This,plabelMemblt)	\
    ( (This)->lpVtbl -> put_LabelMemblt(This,plabelMemblt) ) 

#define IMsTscDebug_get_LabelMemblt(This,plabelMemblt)	\
    ( (This)->lpVtbl -> get_LabelMemblt(This,plabelMemblt) ) 

#define IMsTscDebug_put_BitmapCacheMonitor(This,pbitmapCacheMonitor)	\
    ( (This)->lpVtbl -> put_BitmapCacheMonitor(This,pbitmapCacheMonitor) ) 

#define IMsTscDebug_get_BitmapCacheMonitor(This,pbitmapCacheMonitor)	\
    ( (This)->lpVtbl -> get_BitmapCacheMonitor(This,pbitmapCacheMonitor) ) 

#define IMsTscDebug_put_MallocFailuresPercent(This,pmallocFailuresPercent)	\
    ( (This)->lpVtbl -> put_MallocFailuresPercent(This,pmallocFailuresPercent) ) 

#define IMsTscDebug_get_MallocFailuresPercent(This,pmallocFailuresPercent)	\
    ( (This)->lpVtbl -> get_MallocFailuresPercent(This,pmallocFailuresPercent) ) 

#define IMsTscDebug_put_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent)	\
    ( (This)->lpVtbl -> put_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent) ) 

#define IMsTscDebug_get_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent)	\
    ( (This)->lpVtbl -> get_MallocHugeFailuresPercent(This,pmallocHugeFailuresPercent) ) 

#define IMsTscDebug_put_NetThroughput(This,NetThroughput)	\
    ( (This)->lpVtbl -> put_NetThroughput(This,NetThroughput) ) 

#define IMsTscDebug_get_NetThroughput(This,NetThroughput)	\
    ( (This)->lpVtbl -> get_NetThroughput(This,NetThroughput) ) 

#define IMsTscDebug_put_CLXCmdLine(This,pCLXCmdLine)	\
    ( (This)->lpVtbl -> put_CLXCmdLine(This,pCLXCmdLine) ) 

#define IMsTscDebug_get_CLXCmdLine(This,pCLXCmdLine)	\
    ( (This)->lpVtbl -> get_CLXCmdLine(This,pCLXCmdLine) ) 

#define IMsTscDebug_put_CLXDll(This,pCLXDll)	\
    ( (This)->lpVtbl -> put_CLXDll(This,pCLXDll) ) 

#define IMsTscDebug_get_CLXDll(This,pCLXDll)	\
    ( (This)->lpVtbl -> get_CLXDll(This,pCLXDll) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsTscDebug_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_MsTscAx;

#ifdef __cplusplus

class DECLSPEC_UUID("A41A4187-5A86-4E26-B40A-856F9035D9CB")
MsTscAx;
#endif

EXTERN_C const CLSID CLSID_MsRdpClient;

#ifdef __cplusplus

class DECLSPEC_UUID("7CACBD7B-0D99-468F-AC33-22E495C0AFE5")
MsRdpClient;
#endif

EXTERN_C const CLSID CLSID_MsRdpClient2;

#ifdef __cplusplus

class DECLSPEC_UUID("3523C2FB-4031-44E4-9A3B-F1E94986EE7F")
MsRdpClient2;
#endif

EXTERN_C const CLSID CLSID_MsRdpClient3;

#ifdef __cplusplus

class DECLSPEC_UUID("ACE575FD-1FCF-4074-9401-EBAB990FA9DE")
MsRdpClient3;
#endif

EXTERN_C const CLSID CLSID_MsRdpClient4;

#ifdef __cplusplus

class DECLSPEC_UUID("6AE29350-321B-42BE-BBE5-12FB5270C0DE")
MsRdpClient4;
#endif
#endif /* __MSTSCLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


