From 2c5ded9a8cca8edd991072249d0146151efe01e0 Mon Sep 17 00:00:00 2001 From: Michele Cicciotti Date: Sat, 12 Aug 2006 20:40:12 +0000 Subject: [PATCH] modified porting-tools/mstscax/mstscax.cpp Guard against NULL pointers in certain methods Append a newline to debug messages Support a couple forgotten VARIANT types Corrected implementations of IUnknown::QueryInterface Better debug output for IDispatch::GetIDsOfNames and IDispatch::Invoke Debug output for IQuickActivate modified porting-tools/rdesktop-core-tester/activex.cpp Way too many changes to list. Basically, I wrote an ActiveX control without any help from third party libraries such as ATL. It was educative, but not terribly fun. Very nearly there All properties of the control are now supported, aligned to the behavior of the original control, version 5.2. Parameter validation and range enforcement eveeywhere modified porting-tools/rdesktop-core-tester/mstsclib.idl Reindented Removed explicit __stdcall convention Added alternate interface ids/class ids for compatibility with the msrdp.ocx redistributable. Code does not support this yet modified porting-tools/rdesktop-core-tester/mstsclib.rc added porting-tools/rdesktop-core-tester/mstsclib_redist.idl added porting-tools/rdesktop-core-tester/mstsclib_redist.rc modified porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj added porting-tools/rdesktop-core-tester/typelib.rh Support two type libraries for compatibility with the msrdp.ocx redistributable. Code does not support this yet modified porting-tools/rdesktop-core-tester/mstsclib_h.h modified porting-tools/rdesktop-core-tester/mstsclib_i.c added porting-tools/rdesktop-core-tester/mstsclib_redist_h.h added porting-tools/rdesktop-core-tester/mstsclib_redist_i.c Auto-generated files, for the poor souls without MIDL modified porting-tools/rdesktop-core-tester/stdafx.h Added missing OLE header Corrected typo svn path=/trunk/; revision=23564 --- .../porting-tools/mstscax/mstscax.cpp | 93 +- .../rdesktop-core-tester/activex.cpp | 2163 ++-- .../rdesktop-core-tester/mstsclib.idl | 1251 +-- .../rdesktop-core-tester/mstsclib.rc | 10 +- .../rdesktop-core-tester/mstsclib_h.h | 104 +- .../rdesktop-core-tester/mstsclib_i.c | 4 +- .../rdesktop-core-tester/mstsclib_redist.idl | 3 + .../rdesktop-core-tester/mstsclib_redist.rc | 3 + .../rdesktop-core-tester/mstsclib_redist_h.h | 8946 +++++++++++++++++ .../rdesktop-core-tester/mstsclib_redist_i.c | 145 + .../rdesktop-core-tester.vcproj | 92 +- .../rdesktop-core-tester/stdafx.h | 4 +- .../rdesktop-core-tester/typelib.rh | 21 + 13 files changed, 11406 insertions(+), 1433 deletions(-) create mode 100644 reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.idl create mode 100644 reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.rc create mode 100644 reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_h.h create mode 100644 reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_i.c create mode 100644 reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/typelib.rh diff --git a/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.cpp b/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.cpp index 45f540318bb..66bc2f1e440 100644 --- a/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.cpp +++ b/reactos/base/applications/tsclient/porting-tools/mstscax/mstscax.cpp @@ -31,7 +31,7 @@ namespace std::basic_string::const_iterator endPath = std::find(begin, end, TEXT('\\')).base(); std::basic_string strPath(strFileName.begin(), endPath); - strPath.append(TEXT("mstscax_.dll")); + strPath.append(TEXT("original\\mstscax.dll")); hmMstscax = LoadLibrary(strPath.c_str()); pfnDllGetClassObject = (PFNDLLGETCLASSOBJECT)GetProcAddress(hmMstscax, "DllGetClassObject"); @@ -48,6 +48,8 @@ namespace StringCbVPrintf(buf, sizeof(buf), fmt, args); va_end(args); + StringCbCat(buf, sizeof(buf), TEXT("\n")); + OutputDebugString(buf); } @@ -131,6 +133,9 @@ namespace std::basic_string RectToString(const RECT& rc) { + if(&rc == NULL) + return TEXT(""); + std::basic_ostringstream o; o << "{" << " left:" << rc.left << " top:" << rc.top << " right:" << rc.right << " bottom:" << rc.bottom << " }"; return o.str(); @@ -138,6 +143,9 @@ namespace std::basic_string RectToString(const RECTL& rc) { + if(&rc == NULL) + return TEXT(""); + std::basic_ostringstream o; o << "{" << " left:" << rc.left << " top:" << rc.top << " right:" << rc.right << " bottom:" << rc.bottom << " }"; return o.str(); @@ -145,6 +153,9 @@ namespace std::basic_string SizeToString(const SIZE& sz) { + if(&sz == NULL) + return TEXT(""); + std::basic_ostringstream o; o << "{ " << " cx:" << sz.cx << " cy:" << sz.cy << " }"; return o.str(); @@ -254,6 +265,11 @@ namespace case VT_HRESULT: o << std::hex << var.ulVal; break; + case VT_EMPTY: + case VT_NULL: + case VT_VOID: + break; + default: assert(0); } @@ -842,7 +858,7 @@ namespace else \ { \ hr = E_NOINTERFACE; \ - pvObject = (IUnknown *)(this); \ + pvObject = NULL; \ } QIBEGIN() @@ -3043,7 +3059,7 @@ namespace virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR * rgszNames, UINT cNames, LCID lcid, DISPID * rgDispId) { IDispatch * pIDispatch = getIDispatch(); - std::wstring strtemp; + std::wstring strtemp; std::wostringstream strtempo; @@ -3078,7 +3094,7 @@ namespace strtempo << L" ]"; - dbgprintf(TEXT("IDispatch::GetIDsOfNames -> %08X, rgDispId = [%ls]"), hr, strtemp.c_str()); + dbgprintf(TEXT("IDispatch::GetIDsOfNames -> %08X, rgDispId = %ls"), hr, strtempo.str().c_str()); return hr; } @@ -3089,26 +3105,26 @@ namespace std::basic_ostringstream strtempo; - strtempo << L"{\n"; + strtempo << L"{"; for(unsigned int i = pDispParams->cArgs, j = pDispParams->cNamedArgs; j < pDispParams->cArgs; -- i, ++ j) { - strtempo << L"\t"; + strtempo << L" "; strtempo << VariantToString(pDispParams->rgvarg[i - 1]); - strtempo << L"\n"; + strtempo << L","; } for(unsigned int i = pDispParams->cArgs - pDispParams->cNamedArgs; i > 0; -- i) { - strtempo << L"\t"; + strtempo << L" "; strtempo << L"["; strtempo << pDispParams->rgdispidNamedArgs[i - 1]; strtempo << L"] => "; strtempo << VariantToString(pDispParams->rgvarg[i - 1]); - strtempo << L"\n"; + strtempo << L","; } - strtempo << L"}"; + strtempo << L" }"; - dbgprintf(TEXT("IDispatch::Invoke(%ld, %ls, %08X, %04X, %s, %p, %p, %p)"), dispIdMember, UUIDToString(riid), lcid, wFlags, strtempo.str().c_str(), pVarResult, pExcepInfo, puArgErr); + dbgprintf(TEXT("IDispatch::Invoke(%ld, %ls, %08X, %04X, %s, %p, %p, %p)"), dispIdMember, UUIDToString(riid).c_str(), lcid, wFlags, strtempo.str().c_str(), pVarResult, pExcepInfo, puArgErr); VARIANT VarResult = { }; EXCEPINFO ExcepInfo = { }; @@ -3160,6 +3176,9 @@ namespace private: static std::basic_string TargetDeviceToString(const DVTARGETDEVICE& targetdev) { + if(&targetdev == NULL) + return TEXT(""); + std::basic_ostringstream o; o << "{"; @@ -3999,9 +4018,53 @@ namespace virtual HRESULT STDMETHODCALLTYPE IQuickActivate::QuickActivate(QACONTAINER * pQaContainer, QACONTROL * pQaControl) // TODO { IQuickActivate * pIQuickActivate = getIQuickActivate(); - dbgprintf(TEXT("IQuickActivate::QuickActivate(%p, %p)"), pQaContainer, pQaControl); + + std::basic_stringstream o1; + + o1 << "{ "; + o1 << "pClientSite = " << (void *)pQaContainer->pClientSite << ", "; + o1 << "pAdviseSink = " << (void *)pQaContainer->pAdviseSink << ", "; + o1 << "pPropertyNotifySink = " << (void *)pQaContainer->pPropertyNotifySink << ", "; + o1 << "pUnkEventSink = " << (void *)pQaContainer->pUnkEventSink << ", "; + + o1 << std::hex; + o1 << "dwAmbientFlags = " << pQaContainer->dwAmbientFlags << ", "; + o1 << "colorFore = " << pQaContainer->colorFore << ", "; + o1 << "colorBack = " << pQaContainer->colorBack << ", "; + o1 << std::dec; + + o1 << "pFont = " << (void *)pQaContainer->pFont << ", "; + o1 << "pUndoMgr = " << (void *)pQaContainer->pUndoMgr << ", "; + + o1 << std::hex; + o1 << "dwAppearance = " << pQaContainer->dwAppearance << ", "; + o1 << "lcid = " << pQaContainer->lcid << ", "; + o1 << std::dec; + + o1 << "hpal = " << (void *)pQaContainer->hpal << ", "; + o1 << "pBindHost = " << (void *)pQaContainer->pBindHost << ", "; + o1 << "pOleControlSite = " << (void *)pQaContainer->pOleControlSite << ", "; + o1 << "pServiceProvider = " << (void *)pQaContainer->pServiceProvider << ", "; + o1 << "}"; + + dbgprintf(TEXT("IQuickActivate::QuickActivate(%s, %p)"), o1.str().c_str(), pQaControl); + HRESULT hr = pIQuickActivate->QuickActivate(pQaContainer, pQaControl); - dbgprintf(TEXT("IQuickActivate::QuickActivate -> %08X, pQaControl = %p"), hr, pQaControl); + + std::basic_stringstream o2; + + o2 << "{ "; + o2 << std::hex; + o2 << "dwMiscStatus = " << pQaControl->dwMiscStatus << ", "; + o2 << "dwViewStatus = " << pQaControl->dwViewStatus << ", "; + o2 << "dwEventCookie = " << pQaControl->dwEventCookie << ", "; + o2 << "dwPropNotifyCookie = " << pQaControl->dwPropNotifyCookie << ", "; + o2 << "dwPointerActivationPolicy = " << pQaControl->dwPointerActivationPolicy << ", "; + o2 << std::dec; + o2 << "}"; + + dbgprintf(TEXT("IQuickActivate::QuickActivate -> %08X, QaControl = %s"), hr, o2.str().c_str()); + return hr; } @@ -4764,7 +4827,7 @@ namespace virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppvObject) { HRESULT hr; - IUnknown * pvObject; + IUnknown * pvObject = NULL; dbgprintf(TEXT("IUnknown::QueryInterface(%ls, %p)"), UUIDToString(riid).c_str(), ppvObject); @@ -4796,7 +4859,7 @@ namespace else \ { \ hr = E_NOINTERFACE; \ - pvObject = (IUnknown *)(this); \ + pvObject = NULL; \ } QIBEGIN() diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/activex.cpp b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/activex.cpp index 2ecf786de3c..b1aab6a0ffa 100644 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/activex.cpp +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/activex.cpp @@ -11,19 +11,42 @@ namespace MSTSCLib namespace { #ifdef _MSC_VER - extern "C" char __ImageBase; +extern "C" char __ImageBase; #endif - HMODULE GetCurrentModule() - { - return reinterpret_cast(&__ImageBase); - } +HMODULE GetCurrentModule() +{ + return reinterpret_cast(&__ImageBase); +} + +} + +namespace +{ + +LONG g_moduleRefCount = 0; + +void lockServer() +{ + InterlockedIncrement(&g_moduleRefCount); +} + +void unlockServer() +{ + InterlockedDecrement(&g_moduleRefCount); +} + +bool canUnloadServer() +{ + return g_moduleRefCount == 0; +} + } #pragma warning(push) #pragma warning(disable: 4584) -class RdpClient: +class RdpClient sealed: // FIXME: wrap "sealed" in a macro /* COM basics */ public IUnknown, public IDispatch, @@ -50,6 +73,9 @@ class RdpClient: // NOTE: the original has a vestigial implementation of this, which we omit // public ISpecifyPropertyPages, + // Hidden interfaces, not available through QueryInterface + public IConnectionPoint, + /* RDP client interface */ public MSTSCLib::IMsRdpClient4, public MSTSCLib::IMsRdpClientNonScriptable2, @@ -59,111 +85,500 @@ class RdpClient: { private: /* An endless amount of COM glue */ - volatile LONG * m_moduleRefCount; - IUnknown * m_punkOuter; - CLSID m_classId; - ITypeLib * m_typeLib; - ITypeInfo * m_dispTypeInfo; + // Reference counting LONG m_refCount; - /* Inner IUnknown for aggregation support */ + // Aggregation support + IUnknown * m_punkOuter; + class RdpClientInner: public IUnknown { + private: + RdpClient * Outer() + { + return InnerToOuter(this); + } + public: virtual STDMETHODIMP IUnknown::QueryInterface(REFIID riid, void ** ppvObject) { - RdpClient * outerThis = InnerToOuter(this); - - using namespace MSTSCLib; - - IUnknown * pvObject = NULL; - - if(riid == IID_IUnknown) - pvObject = static_cast(this); // use of "this" is NOT an error! - else if(riid == IID_IConnectionPointContainer) - pvObject = static_cast(outerThis); - else if(riid == IID_IDataObject) - pvObject = static_cast(outerThis); - else if(riid == IID_IObjectSafety) - pvObject = static_cast(outerThis); - else if(riid == IID_IOleControl) - pvObject = static_cast(outerThis); - else if(riid == IID_IOleInPlaceActiveObject) - pvObject = static_cast(outerThis); - else if(riid == IID_IOleInPlaceObject) - pvObject = static_cast(outerThis); - else if(riid == IID_IOleObject) - pvObject = static_cast(outerThis); - else if(riid == IID_IOleWindow) - pvObject = static_cast(outerThis); - else if(riid == IID_IPersist) - pvObject = static_cast(outerThis); - else if(riid == IID_IPersistPropertyBag) - pvObject = static_cast(outerThis); - else if(riid == IID_IPersistStorage) - pvObject = static_cast(outerThis); - else if(riid == IID_IPersistStreamInit) - pvObject = static_cast(outerThis); - else if(riid == IID_IQuickActivate) - pvObject = static_cast(outerThis); - else if(riid == IID_IViewObject) - pvObject = static_cast(outerThis); - else if(riid == IID_IViewObject2) - pvObject = static_cast(outerThis); - else if(riid == IID_IMsTscAx) - pvObject = static_cast(outerThis); - else if(riid == IID_IMsRdpClient) - pvObject = static_cast(outerThis); - else if(riid == IID_IMsRdpClient2) - pvObject = static_cast(outerThis); - else if(riid == IID_IMsRdpClient3) - pvObject = static_cast(outerThis); - else if(riid == IID_IMsRdpClient4) - pvObject = static_cast(outerThis); - else if(riid == IID_IMsTscNonScriptable) - pvObject = static_cast(outerThis); - else if(riid == IID_IMsRdpClientNonScriptable) - pvObject = static_cast(outerThis); - else if(riid == IID_IMsRdpClientNonScriptable2) - pvObject = static_cast(outerThis); - - *ppvObject = pvObject; - - if(pvObject) - { - pvObject->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; + return Outer()->queryInterface(riid, ppvObject); } virtual STDMETHODIMP_(ULONG) IUnknown::AddRef() { - return InnerToOuter(this)->addRef(); + return Outer()->addRef(); } virtual STDMETHODIMP_(ULONG) IUnknown::Release() { - return InnerToOuter(this)->release(); + return Outer()->release(); } } m_inner; - // FIXME: (re)use fixed buffers for these - BSTR m_server; - BSTR m_domain; - BSTR m_userName; - BSTR m_disconnectedText; - BSTR m_connectingText; - BSTR m_fullScreenTitle; + // Persistence support + CLSID m_classId; - bool m_nonIdle; - bool m_connected; - bool m_startConnected; + // Late binding support + ITypeLib * m_typeLib; + ITypeInfo * m_dispTypeInfo; + + // Event sinks + size_t m_EventSinksCount; + + union + { + MSTSCLib::IMsTscAxEvents * m_EventSinksStatic[1]; + MSTSCLib::IMsTscAxEvents ** m_EventSinks; + }; + + // OLE control glue + HWND m_controlWindow; + IOleClientSite * m_clientSite; + + // UrlMon security + DWORD m_SafetyOptions; + + bool IsSafeForScripting() const + { + return m_SafetyOptions & INTERFACESAFE_FOR_UNTRUSTED_CALLER; + } + + /* Properties */ + // Storage fields + // NOTE: keep sorted by alignment (pointers and handles, integers, enumerations, booleans) + BSTR m_Server; + BSTR m_Domain; + BSTR m_UserName; + BSTR m_DisconnectedText; + BSTR m_ConnectingText; + BSTR m_FullScreenTitle; + BSTR m_StartProgram; + BSTR m_WorkDir; + BSTR m_LoadBalanceInfo; + BSTR m_ConnectedStatusText; + BSTR m_ClearTextPassword; // FIXME! dangerous, shouldn't store in cleartext! + BSTR m_RdpdrLocalPrintingDocName; + BSTR m_RdpdrClipCleanTempDirString; + BSTR m_RdpdrClipPasteInfoString; + // TODO: keyboard layout + // TODO: plugin DLLs + HWND m_UIParentWindowHandle; + long m_DesktopWidth; + long m_DesktopHeight; + long m_StartConnected; + long m_HorizontalScrollBarVisible; + long m_VerticalScrollBarVisible; + long m_ColorDepth; + long m_KeyboardHookMode; + long m_AudioRedirectionMode; + long m_TransportType; + long m_SasSequence; + long m_RDPPort; + long m_HotKeyFullScreen; + long m_HotKeyAltEsc; + long m_HotKeyAltShiftTab; + long m_HotKeyAltSpace; + long m_HotKeyAltTab; + long m_HotKeyCtrlAltDel; + long m_HotKeyCtrlEsc; + long m_orderDrawThresold; + long m_BitmapCacheSize; + long m_BitmapVirtualCacheSize; + long m_NumBitmapCaches; + long m_brushSupportLevel; + long m_minInputSendInterval; + long m_InputEventsAtOnce; + long m_maxEventCount; + long m_keepAliveInternal; + long m_shutdownTimeout; + long m_overallConnectionTimeout; + long m_singleConnectionTimeout; + long m_MinutesToIdleTimeout; + long m_BitmapVirtualCache16BppSize; + long m_BitmapVirtualCache24BppSize; + long m_PerformanceFlags; + long m_MaxReconnectAttempts; + unsigned int m_AuthenticationLevel; + + MSTSCLib::ExtendedDisconnectReasonCode m_ExtendedDisconnectReason; + + bool m_Connected; + bool m_Compress; + bool m_BitmapPersistence; + bool m_allowBackgroundInput; + bool m_ContainerHandledFullScreen; + bool m_DisableRdpdr; + bool m_SecuredSettingsEnabled; + bool m_FullScreen; + bool m_AcceleratorPassthrough; + bool m_ShadowBitmap; + bool m_EncryptionEnabled; + bool m_DedicatedTerminal; + bool m_EnableMouse; + bool m_DisableCtrlAltDel; + bool m_EnableWindowsKey; + bool m_DoubleClickDetect; + bool m_MaximizeShell; + bool m_ScaleBitmapCachesByBpp; + bool m_CachePersistenceActive; + bool m_ConnectToServerConsole; + bool m_SmartSizing; // FIXME: this can be set while the control is connected + bool m_DisplayConnectionBar; + bool m_PinConnectionBar; + bool m_GrabFocusOnConnect; + bool m_RedirectDrives; + bool m_RedirectPrinters; + bool m_RedirectPorts; + bool m_RedirectSmartCards; + bool m_NotifyTSPublicKey; + bool m_CanAutoReconnect; + bool m_EnableAutoReconnect; + bool m_ConnectionBarShowMinimizeButton; + bool m_ConnectionBarShowRestoreButton; + + // Generic getters/setters + HRESULT GetProperty(BSTR& prop, BSTR * retVal) const + { + if(retVal == NULL) + return E_POINTER; + + *retVal = SysAllocStringLen(prop, SysStringLen(prop)); + + if(*retVal == NULL) + return E_OUTOFMEMORY; + + return S_OK; + } + + HRESULT SetProperty(BSTR& prop, BSTR newValue) + { + if(m_Connected) + return E_FAIL; + + SysFreeString(prop); + + UINT len = SysStringLen(newValue); + + if(len) + { + // no embedded NULs, please + if(len != lstrlenW(newValue)) + return E_INVALIDARG; + + prop = SysAllocStringLen(newValue, len); + + if(prop == NULL) + return E_OUTOFMEMORY; + } + else + prop = NULL; + + return S_OK; + } + + template HRESULT SetProperty(bool& prop, const Type& newValue) + { + if(m_Connected) + return E_FAIL; + + prop = !!newValue; + return S_OK; + } + + template HRESULT SetProperty(Type& prop, const Type& newValue) + { + if(m_Connected) + return E_FAIL; + + prop = newValue; + return S_OK; + } + + template HRESULT GetProperty(const bool& prop, Type * retVal) const + { + if(retVal == NULL) + return E_POINTER; + + *retVal = prop ? VARIANT_TRUE : VARIANT_FALSE; + return S_OK; + } + + template HRESULT GetProperty(const Type& prop, Type * retVal) const + { + if(retVal == NULL) + return E_POINTER; + + *retVal = prop; + return S_OK; + } + + /* Events */ + MSTSCLib::IMsTscAxEvents * const * GetSinks() const + { + if(m_EventSinksCount > 1) + return m_EventSinks; + else + return m_EventSinksStatic; + } + + // Generic event riser & helpers + void FireEvent(DISPID eventId, VARIANTARG rgvarg[], unsigned int cArgs, VARIANTARG * retval) + { + DISPPARAMS params; + + params.rgvarg = rgvarg; + params.rgdispidNamedArgs = NULL; + params.cArgs = cArgs; + params.cNamedArgs = 0; + + MSTSCLib::IMsTscAxEvents * const * sinks = GetSinks(); + + for(size_t i = 0; i < m_EventSinksCount; ++ i) + { + sinks[i]->Invoke(eventId, IID_NULL, 0, DISPATCH_METHOD, ¶ms, retval, NULL, NULL); + + // BUGBUG: should we keep looping if the event has a return value? + } + } + + void FireEvent(DISPID eventId, VARIANTARG * retval = NULL) + { + return FireEvent(eventId, NULL, 0, retval); + } + + void FireEvent(DISPID eventId, VARIANTARG& arg, VARIANTARG * retval = NULL) + { + return FireEvent(eventId, &arg, 1, retval); + } + + template void FireEvent(DISPID eventId, VARIANTARG (& args)[N], VARIANTARG * retval = NULL) + { + return FireEvent(eventId, args, (N), retval); + } + + // Specific events + void FireConnecting() + { + FireEvent(1); + } + + void FireConnected() + { + FireEvent(2); + } + + void FireLoginComplete() + { + FireEvent(3); + } + + void FireDisconnected(long reason) + { + VARIANTARG arg = { }; + + arg.vt = VT_I4; + arg.lVal = reason; + + FireEvent(4, arg); + } + + void FireEnterFullScreenMode() + { + FireEvent(5); + } + + void FireLeaveFullScreenMode() + { + FireEvent(6); + } + + void FireChannelReceivedData(BSTR chanName, BSTR chanData) + { + VARIANTARG args[2] = { }; + + args[1].vt = VT_BSTR; + args[1].bstrVal = chanName; + + args[0].vt = VT_BSTR; + args[0].bstrVal = chanData; + + FireEvent(7, args); + } + + void FireRequestGoFullScreen() + { + FireEvent(8); + } + + void FireRequestLeaveFullScreen() + { + FireEvent(9); + } + + void FireFatalError(long errorCode) + { + VARIANTARG arg = { }; + + arg.vt = VT_I4; + arg.lVal = errorCode; + + FireEvent(10, arg); + } + + void FireWarning(long warningCode) + { + VARIANTARG arg = { }; + + arg.vt = VT_I4; + arg.lVal = warningCode; + + FireEvent(11); + } + + void FireRemoteDesktopSizeChange(long width, long height) + { + VARIANTARG args[2] = { }; + + args[1].vt = VT_I4; + args[1].lVal = width; + + args[0].vt = VT_I4; + args[0].lVal = height; + + FireEvent(12, args); + } + + void FireIdleTimeoutNotification() + { + FireEvent(13); + } + + void FireRequestContainerMinimize() + { + FireEvent(14); + } + + void FireConfirmClose(VARIANT_BOOL * pfAllowClose) + { + VARIANTARG retval = { }; + + retval.vt = VT_BYREF | VT_BOOL; + retval.pboolVal = pfAllowClose; + + FireEvent(15, &retval); + } + + void FireReceivedTSPublicKey(BSTR publicKey, VARIANT_BOOL * pfContinueLogon) + { + VARIANTARG arg = { }; + VARIANTARG retval = { }; + + arg.vt = VT_BSTR; + arg.bstrVal = publicKey; + + retval.vt = VT_BYREF | VT_BOOL; + retval.pboolVal = pfContinueLogon; + + FireEvent(16, arg, &retval); + } + + void FireAutoReconnecting(long disconnectReason, long attemptCount, MSTSCLib::AutoReconnectContinueState * pArcContinueStatus) + { + VARIANTARG args[2] = { }; + VARIANTARG retval = { }; + + args[1].vt = VT_I4; + args[1].lVal = disconnectReason; + + args[0].vt = VT_I4; + args[0].lVal = attemptCount; + + retval.vt = VT_BYREF | VT_I4; + retval.plVal = (LONG *)pArcContinueStatus; + + FireEvent(17, args, &retval); + } + + void FireAuthenticationWarningDisplayed() + { + FireEvent(18); + } + + void FireAuthenticationWarningDismissed() + { + FireEvent(19); + } + + /* Actual IUnknown implementation */ + HRESULT queryInterface(REFIID riid, void ** ppvObject) + { + IUnknown * pvObject = NULL; + + using namespace MSTSCLib; + + if(riid == IID_IUnknown) + pvObject = static_cast(&m_inner); + else if(riid == IID_IConnectionPointContainer) + pvObject = static_cast(this); + else if(riid == IID_IDataObject) + pvObject = static_cast(this); + else if(riid == IID_IObjectSafety) + pvObject = static_cast(this); + else if(riid == IID_IOleControl) + pvObject = static_cast(this); + else if(riid == IID_IOleInPlaceActiveObject) + pvObject = static_cast(this); + else if(riid == IID_IOleInPlaceObject) + pvObject = static_cast(this); + else if(riid == IID_IOleObject) + pvObject = static_cast(this); + else if(riid == IID_IOleWindow) + pvObject = static_cast(this); + else if(riid == IID_IPersist) + pvObject = static_cast(this); + else if(riid == IID_IPersistPropertyBag) + pvObject = static_cast(this); + else if(riid == IID_IPersistStorage) + pvObject = static_cast(this); + else if(riid == IID_IPersistStreamInit) + pvObject = static_cast(this); + else if(riid == IID_IQuickActivate) + pvObject = static_cast(this); + else if(riid == IID_IViewObject) + pvObject = static_cast(this); + else if(riid == IID_IViewObject2) + pvObject = static_cast(this); + else if(riid == IID_IMsTscAx) + pvObject = static_cast(this); + else if(riid == IID_IMsRdpClient) + pvObject = static_cast(this); + else if(riid == IID_IMsRdpClient2) + pvObject = static_cast(this); + else if(riid == IID_IMsRdpClient3) + pvObject = static_cast(this); + else if(riid == IID_IMsRdpClient4) + pvObject = static_cast(this); + else if(riid == IID_IMsTscNonScriptable) + pvObject = static_cast(this); + else if(riid == IID_IMsRdpClientNonScriptable) + pvObject = static_cast(this); + else if(riid == IID_IMsRdpClientNonScriptable2) + pvObject = static_cast(this); + + *ppvObject = pvObject; + + if(pvObject) + { + pvObject->AddRef(); + return S_OK; + } + + return E_NOINTERFACE; + } - /* Reference counting */ ULONG addRef() { return InterlockedIncrement(&m_refCount); @@ -180,10 +595,102 @@ private: } /* Constructor */ - RdpClient(REFCLSID classId, IUnknown * punkOuter, LONG * moduleRefCount): - m_classId(classId), + RdpClient(REFCLSID classId, IUnknown * punkOuter): + // COM/OLE internals + m_refCount(0), m_punkOuter(punkOuter), - m_moduleRefCount(moduleRefCount) + m_classId(classId), + m_typeLib(), + m_dispTypeInfo(), + m_clientSite(), + m_SafetyOptions(), + + // Properties + m_Server(), + m_Domain(), + m_UserName(), + m_DisconnectedText(), + m_ConnectingText(), + m_FullScreenTitle(), + m_StartProgram(), + m_WorkDir(), + m_LoadBalanceInfo(), + m_ConnectedStatusText(), + m_ClearTextPassword(), + m_RdpdrLocalPrintingDocName(), + m_RdpdrClipCleanTempDirString(), + m_RdpdrClipPasteInfoString(), + m_UIParentWindowHandle(), + m_DesktopWidth(), + m_DesktopHeight(), + m_StartConnected(), + m_HorizontalScrollBarVisible(), + m_VerticalScrollBarVisible(), + m_ColorDepth(16), + m_KeyboardHookMode(2), + m_AudioRedirectionMode(0), + m_TransportType(1), // BUGBUG: ??? + m_SasSequence(0xAA03), // BUGBUG: ??? + m_RDPPort(3389), + m_HotKeyFullScreen(VK_CANCEL), + m_HotKeyAltEsc(VK_INSERT), + m_HotKeyAltShiftTab(VK_NEXT), + m_HotKeyAltSpace(VK_DELETE), + m_HotKeyAltTab(VK_PRIOR), + m_HotKeyCtrlAltDel(VK_END), + m_HotKeyCtrlEsc(VK_HOME), + m_orderDrawThresold(0), + m_BitmapCacheSize(1500), + m_BitmapVirtualCacheSize(10), + m_NumBitmapCaches(), + m_brushSupportLevel(), + m_minInputSendInterval(), + m_InputEventsAtOnce(), + m_maxEventCount(), + m_keepAliveInternal(0), + m_shutdownTimeout(10), + m_overallConnectionTimeout(120), + m_singleConnectionTimeout(30), + m_MinutesToIdleTimeout(0), + m_BitmapVirtualCache16BppSize(20), + m_BitmapVirtualCache24BppSize(30), + m_PerformanceFlags(), + m_MaxReconnectAttempts(20), + m_AuthenticationLevel(0), + m_ExtendedDisconnectReason(MSTSCLib::exDiscReasonNoInfo), + m_Connected(false), + m_Compress(true), + m_BitmapPersistence(true), + m_allowBackgroundInput(false), + m_ContainerHandledFullScreen(false), + m_DisableRdpdr(false), + m_SecuredSettingsEnabled(true), + m_FullScreen(false), + m_AcceleratorPassthrough(true), + m_ShadowBitmap(true), + m_EncryptionEnabled(true), + m_DedicatedTerminal(false), + m_EnableMouse(true), + m_DisableCtrlAltDel(true), + m_EnableWindowsKey(true), + m_DoubleClickDetect(false), + m_MaximizeShell(true), + m_ScaleBitmapCachesByBpp(false), + m_CachePersistenceActive(false), + m_ConnectToServerConsole(false), + m_SmartSizing(false), + m_DisplayConnectionBar(true), + m_PinConnectionBar(true), + m_GrabFocusOnConnect(true), + m_RedirectDrives(false), + m_RedirectPrinters(false), + m_RedirectPorts(false), + m_RedirectSmartCards(false), + m_NotifyTSPublicKey(false), + m_CanAutoReconnect(false), + m_EnableAutoReconnect(true), + m_ConnectionBarShowMinimizeButton(true), + m_ConnectionBarShowRestoreButton(true) { if(m_punkOuter == NULL) m_punkOuter = &m_inner; @@ -194,41 +701,59 @@ private: /* Destructor */ ~RdpClient() { - InterlockedDecrement(m_moduleRefCount); + assert(m_refCount == 0); + + if(m_typeLib) + m_typeLib->Release(); + + if(m_dispTypeInfo) + m_dispTypeInfo->Release(); + + MSTSCLib::IMsTscAxEvents * const * sinks = GetSinks(); + + for(size_t i = 0; i < m_EventSinksCount; ++ i) + sinks[i]->Release(); + + if(m_EventSinksCount > 1) + CoTaskMemFree(m_EventSinks); + + if(m_clientSite) + m_clientSite->Release(); + + SysFreeString(m_Server); + SysFreeString(m_Domain); + SysFreeString(m_UserName); + SysFreeString(m_DisconnectedText); + SysFreeString(m_DisconnectedText); + SysFreeString(m_FullScreenTitle); + SysFreeString(m_StartProgram); + SysFreeString(m_WorkDir); + SysFreeString(m_LoadBalanceInfo); + SysFreeString(m_ConnectedStatusText); + SysFreeString(m_ClearTextPassword); + SysFreeString(m_RdpdrLocalPrintingDocName); + SysFreeString(m_RdpdrClipCleanTempDirString); + SysFreeString(m_RdpdrClipPasteInfoString); + + // TODO: decrease module reference count } - /* Helpers */ - static HRESULT SetStringProperty(BSTR& prop, BSTR newValue) - { - if(newValue == NULL) - return E_INVALIDARG; - - SysFreeString(prop); - - prop = SysAllocStringLen(newValue, SysStringLen(newValue)); - - if(prop == NULL) - return E_OUTOFMEMORY; - - return S_OK; - } - - static HRESULT GetStringProperty(BSTR& prop, BSTR * retVal) - { - *retVal = SysAllocStringLen(prop, SysStringLen(prop)); - - if(*retVal == NULL) - return E_OUTOFMEMORY; - - return S_OK; - } - - /* Advanced settings */ + /* Advanced settings wrapper */ friend class AdvancedSettings; - class AdvancedSettings: public MSTSCLib::IMsRdpClientAdvancedSettings4 + class AdvancedSettings sealed: public MSTSCLib::IMsRdpClientAdvancedSettings4 { private: + RdpClient * Outer() + { + return InnerToOuter(this); + } + + const RdpClient * Outer() const + { + return InnerToOuter(this); + } + /* IDispatch type information */ ITypeInfo * m_dispTypeInfo; @@ -237,12 +762,12 @@ private: if(m_dispTypeInfo) return S_OK; - HRESULT hr = InnerToOuter(this)->LoadTypeLibrary(); + HRESULT hr = Outer()->LoadTypeLibrary(); if(FAILED(hr)) return hr; - hr = InnerToOuter(this)->m_typeLib->GetTypeInfoOfGuid(MSTSCLib::IID_IMsRdpClientAdvancedSettings4, &m_dispTypeInfo); + hr = Outer()->m_typeLib->GetTypeInfoOfGuid(MSTSCLib::IID_IMsRdpClientAdvancedSettings4, &m_dispTypeInfo); if(FAILED(hr)) return hr; @@ -287,7 +812,7 @@ private: ) { *ppvObject = this; - InnerToOuter(this)->addRef(); + Outer()->addRef(); return S_OK; } else @@ -299,12 +824,12 @@ private: virtual STDMETHODIMP_(ULONG) IUnknown::AddRef() { - return InnerToOuter(this)->addRef(); + return Outer()->addRef(); } virtual STDMETHODIMP_(ULONG) IUnknown::Release() { - return InnerToOuter(this)->release(); + return Outer()->release(); } /* IDispatch */ @@ -349,32 +874,35 @@ private: /* IMsTscAdvancedSettings */ virtual STDMETHODIMP IMsTscAdvancedSettings::put_Compress(long pcompress) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_Compress, pcompress); } virtual STDMETHODIMP IMsTscAdvancedSettings::get_Compress(long * pcompress) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_Compress, pcompress); } virtual STDMETHODIMP IMsTscAdvancedSettings::put_BitmapPeristence(long pbitmapPeristence) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_BitmapPersistence, pbitmapPeristence); } virtual STDMETHODIMP IMsTscAdvancedSettings::get_BitmapPeristence(long * pbitmapPeristence) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_BitmapPersistence, pbitmapPeristence); } virtual STDMETHODIMP IMsTscAdvancedSettings::put_allowBackgroundInput(long pallowBackgroundInput) { - return E_NOTIMPL; // TODO + if(Outer()->IsSafeForScripting()) + return S_FALSE; + + return Outer()->SetProperty(Outer()->m_allowBackgroundInput, pallowBackgroundInput); } virtual STDMETHODIMP IMsTscAdvancedSettings::get_allowBackgroundInput(long * pallowBackgroundInput) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_allowBackgroundInput, pallowBackgroundInput); } virtual STDMETHODIMP IMsTscAdvancedSettings::put_KeyBoardLayoutStr(BSTR rhs) @@ -384,623 +912,670 @@ private: virtual STDMETHODIMP IMsTscAdvancedSettings::put_PluginDlls(BSTR rhs) { + // TODO: split rhs into an array + + // Control marked safe for scripting: only allow filenames + if(Outer()->IsSafeForScripting()) + { + // TODO: validate entries + // TODO: replace each entry with a full path based on the Virtual Channel DLL path + } + return E_NOTIMPL; // TODO } virtual STDMETHODIMP IMsTscAdvancedSettings::put_IconFile(BSTR rhs) { - return E_NOTIMPL; // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsTscAdvancedSettings::put_IconIndex(long rhs) { - return E_NOTIMPL; // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsTscAdvancedSettings::put_ContainerHandledFullScreen(long pContainerHandledFullScreen) { - return E_NOTIMPL; // TODO + if(Outer()->IsSafeForScripting()) + return S_FALSE; + + return Outer()->SetProperty(Outer()->m_ContainerHandledFullScreen, pContainerHandledFullScreen); } virtual STDMETHODIMP IMsTscAdvancedSettings::get_ContainerHandledFullScreen(long * pContainerHandledFullScreen) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_ContainerHandledFullScreen, pContainerHandledFullScreen); } virtual STDMETHODIMP IMsTscAdvancedSettings::put_DisableRdpdr(long pDisableRdpdr) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_DisableRdpdr, pDisableRdpdr); } virtual STDMETHODIMP IMsTscAdvancedSettings::get_DisableRdpdr(long * pDisableRdpdr) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_DisableRdpdr, pDisableRdpdr); } /* IMsRdpClientAdvancedSettings */ virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_SmoothScroll(long psmoothScroll) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_SmoothScroll(long * psmoothScroll) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_AcceleratorPassthrough(long pacceleratorPassthrough) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_AcceleratorPassthrough, pacceleratorPassthrough); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_AcceleratorPassthrough(long * pacceleratorPassthrough) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_AcceleratorPassthrough, pacceleratorPassthrough); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ShadowBitmap(long pshadowBitmap) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_ShadowBitmap, pshadowBitmap); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_ShadowBitmap(long * pshadowBitmap) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_ShadowBitmap, pshadowBitmap); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_TransportType(long ptransportType) { - return E_NOTIMPL; // TODO + // Reserved + return Outer()->SetProperty(Outer()->m_TransportType, ptransportType); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_TransportType(long * ptransportType) { - return E_NOTIMPL; // TODO + // Reserved + return Outer()->GetProperty(Outer()->m_TransportType, ptransportType); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_SasSequence(long psasSequence) { - return E_NOTIMPL; // TODO + // Reserved + return Outer()->SetProperty(Outer()->m_SasSequence, psasSequence); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_SasSequence(long * psasSequence) { - return E_NOTIMPL; // TODO + // Reserved + return Outer()->GetProperty(Outer()->m_SasSequence, psasSequence); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_EncryptionEnabled(long pencryptionEnabled) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_EncryptionEnabled, pencryptionEnabled); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_EncryptionEnabled(long * pencryptionEnabled) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_EncryptionEnabled, pencryptionEnabled); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DedicatedTerminal(long pdedicatedTerminal) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_DedicatedTerminal, pdedicatedTerminal); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DedicatedTerminal(long * pdedicatedTerminal) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_DedicatedTerminal, pdedicatedTerminal); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RDPPort(long prdpPort) { - return E_NOTIMPL; // TODO + if(prdpPort == 0 || prdpPort > 65535) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_RDPPort, prdpPort); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RDPPort(long * prdpPort) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_RDPPort, prdpPort); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_EnableMouse(long penableMouse) { - return E_NOTIMPL; // TODO + return S_FALSE; // TBD? implement? } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_EnableMouse(long * penableMouse) { - return E_NOTIMPL; // TODO + return S_FALSE; // TBD? implement? } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DisableCtrlAltDel(long pdisableCtrlAltDel) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_DisableCtrlAltDel, pdisableCtrlAltDel); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DisableCtrlAltDel(long * pdisableCtrlAltDel) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_DisableCtrlAltDel, pdisableCtrlAltDel); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_EnableWindowsKey(long penableWindowsKey) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_EnableWindowsKey, penableWindowsKey); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_EnableWindowsKey(long * penableWindowsKey) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_EnableWindowsKey, penableWindowsKey); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DoubleClickDetect(long pdoubleClickDetect) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_DoubleClickDetect, pdoubleClickDetect); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DoubleClickDetect(long * pdoubleClickDetect) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_DoubleClickDetect, pdoubleClickDetect); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_MaximizeShell(long pmaximizeShell) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_MaximizeShell, pmaximizeShell); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_MaximizeShell(long * pmaximizeShell) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_MaximizeShell, pmaximizeShell); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyFullScreen(long photKeyFullScreen) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_HotKeyFullScreen, photKeyFullScreen); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyFullScreen(long * photKeyFullScreen) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_HotKeyFullScreen, photKeyFullScreen); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyCtrlEsc(long photKeyCtrlEsc) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_HotKeyCtrlEsc, photKeyCtrlEsc); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyCtrlEsc(long * photKeyCtrlEsc) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_HotKeyCtrlEsc, photKeyCtrlEsc); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltEsc(long photKeyAltEsc) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_HotKeyAltEsc, photKeyAltEsc); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltEsc(long * photKeyAltEsc) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_HotKeyAltEsc, photKeyAltEsc); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltTab(long photKeyAltTab) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_HotKeyAltTab, photKeyAltTab); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltTab(long * photKeyAltTab) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_HotKeyAltTab, photKeyAltTab); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltShiftTab(long photKeyAltShiftTab) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_HotKeyAltShiftTab, photKeyAltShiftTab); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltShiftTab(long * photKeyAltShiftTab) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_HotKeyAltShiftTab, photKeyAltShiftTab); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyAltSpace(long photKeyAltSpace) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_HotKeyAltSpace, photKeyAltSpace); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyAltSpace(long * photKeyAltSpace) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_HotKeyAltSpace, photKeyAltSpace); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_HotKeyCtrlAltDel(long photKeyCtrlAltDel) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_HotKeyCtrlAltDel, photKeyCtrlAltDel); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_HotKeyCtrlAltDel(long * photKeyCtrlAltDel) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_HotKeyCtrlAltDel, photKeyCtrlAltDel); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_orderDrawThreshold(long porderDrawThreshold) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_orderDrawThreshold(long * porderDrawThreshold) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapCacheSize(long pbitmapCacheSize) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapCacheSize(long * pbitmapCacheSize) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapVirtualCacheSize(long pbitmapVirtualCacheSize) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_BitmapVirtualCacheSize, pbitmapVirtualCacheSize); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapVirtualCacheSize(long * pbitmapVirtualCacheSize) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_BitmapVirtualCacheSize, pbitmapVirtualCacheSize); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ScaleBitmapCachesByBPP(long pbScale) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_ScaleBitmapCachesByBPP(long * pbScale) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_NumBitmapCaches(long pnumBitmapCaches) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_NumBitmapCaches(long * pnumBitmapCaches) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_CachePersistenceActive(long pcachePersistenceActive) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_CachePersistenceActive, pcachePersistenceActive); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_CachePersistenceActive(long * pcachePersistenceActive) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_CachePersistenceActive, pcachePersistenceActive); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_PersistCacheDirectory(BSTR rhs) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_brushSupportLevel(long pbrushSupportLevel) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_brushSupportLevel, pbrushSupportLevel); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_brushSupportLevel(long * pbrushSupportLevel) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_brushSupportLevel, pbrushSupportLevel); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_minInputSendInterval(long pminInputSendInterval) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_minInputSendInterval(long * pminInputSendInterval) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_InputEventsAtOnce(long pinputEventsAtOnce) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_InputEventsAtOnce(long * pinputEventsAtOnce) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_maxEventCount(long pmaxEventCount) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_maxEventCount(long * pmaxEventCount) { - return E_NOTIMPL; // TODO + return S_FALSE; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_keepAliveInterval(long pkeepAliveInterval) { - return E_NOTIMPL; // TODO + if(pkeepAliveInterval && pkeepAliveInterval < 10) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_keepAliveInternal, pkeepAliveInterval); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_keepAliveInterval(long * pkeepAliveInterval) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_keepAliveInternal, pkeepAliveInterval); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_shutdownTimeout(long pshutdownTimeout) { - return E_NOTIMPL; // TODO + if(pshutdownTimeout >= 600) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_shutdownTimeout, pshutdownTimeout); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_shutdownTimeout(long * pshutdownTimeout) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_shutdownTimeout, pshutdownTimeout); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_overallConnectionTimeout(long poverallConnectionTimeout) { - return E_NOTIMPL; // TODO + if(poverallConnectionTimeout >= 600) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_overallConnectionTimeout, poverallConnectionTimeout); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_overallConnectionTimeout(long * poverallConnectionTimeout) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_overallConnectionTimeout, poverallConnectionTimeout); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_singleConnectionTimeout(long psingleConnectionTimeout) { - return E_NOTIMPL; // TODO + if(psingleConnectionTimeout >= 600) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_singleConnectionTimeout, psingleConnectionTimeout); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_singleConnectionTimeout(long * psingleConnectionTimeout) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_singleConnectionTimeout, psingleConnectionTimeout); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_KeyboardType(long pkeyboardType) { - return E_NOTIMPL; // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_KeyboardType(long * pkeyboardType) { - return E_NOTIMPL; // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_KeyboardSubType(long pkeyboardSubType) { - return E_NOTIMPL; // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_KeyboardSubType(long * pkeyboardSubType) { - return E_NOTIMPL; // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_KeyboardFunctionKey(long pkeyboardFunctionKey) { - return E_NOTIMPL; // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_KeyboardFunctionKey(long * pkeyboardFunctionKey) { - return E_NOTIMPL; // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_WinceFixedPalette(long pwinceFixedPalette) { - return E_NOTIMPL; // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_WinceFixedPalette(long * pwinceFixedPalette) { - return E_NOTIMPL; // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ConnectToServerConsole(VARIANT_BOOL pConnectToConsole) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_ConnectToServerConsole, pConnectToConsole); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_ConnectToServerConsole(VARIANT_BOOL * pConnectToConsole) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_ConnectToServerConsole, pConnectToConsole); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapPersistence(long pbitmapPersistence) { - return E_NOTIMPL; // TODO + return put_BitmapPeristence(pbitmapPersistence); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapPersistence(long * pbitmapPersistence) { - return E_NOTIMPL; // TODO + return get_BitmapPeristence(pbitmapPersistence); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_MinutesToIdleTimeout(long pminutesToIdleTimeout) { - return E_NOTIMPL; // TODO + if(pminutesToIdleTimeout > 240) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_MinutesToIdleTimeout, pminutesToIdleTimeout); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_MinutesToIdleTimeout(long * pminutesToIdleTimeout) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_MinutesToIdleTimeout, pminutesToIdleTimeout); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_SmartSizing(VARIANT_BOOL pfSmartSizing) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_SmartSizing, pfSmartSizing); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_SmartSizing(VARIANT_BOOL * pfSmartSizing) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_SmartSizing, pfSmartSizing); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RdpdrLocalPrintingDocName(BSTR pLocalPrintingDocName) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_RdpdrLocalPrintingDocName, pLocalPrintingDocName); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RdpdrLocalPrintingDocName(BSTR * pLocalPrintingDocName) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_RdpdrLocalPrintingDocName, pLocalPrintingDocName); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RdpdrClipCleanTempDirString(BSTR clipCleanTempDirString) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_RdpdrClipCleanTempDirString, clipCleanTempDirString); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RdpdrClipCleanTempDirString(BSTR * clipCleanTempDirString) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_RdpdrClipCleanTempDirString, clipCleanTempDirString); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RdpdrClipPasteInfoString(BSTR clipPasteInfoString) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_RdpdrClipPasteInfoString, clipPasteInfoString); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RdpdrClipPasteInfoString(BSTR * clipPasteInfoString) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_RdpdrClipPasteInfoString, clipPasteInfoString); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ClearTextPassword(BSTR rhs) { - return E_NOTIMPL; // TODO + return Outer()->put_ClearTextPassword(rhs); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_DisplayConnectionBar(VARIANT_BOOL pDisplayConnectionBar) { - return E_NOTIMPL; // TODO + if(!pDisplayConnectionBar && Outer()->IsSafeForScripting()) + return E_FAIL; + + return Outer()->SetProperty(Outer()->m_DisplayConnectionBar, pDisplayConnectionBar); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_DisplayConnectionBar(VARIANT_BOOL * pDisplayConnectionBar) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_DisplayConnectionBar, pDisplayConnectionBar); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_PinConnectionBar(VARIANT_BOOL pPinConnectionBar) { - return E_NOTIMPL; // TODO + if(Outer()->IsSafeForScripting()) + return E_NOTIMPL; + + return Outer()->SetProperty(Outer()->m_PinConnectionBar, pPinConnectionBar); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_PinConnectionBar(VARIANT_BOOL * pPinConnectionBar) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_PinConnectionBar, pPinConnectionBar); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_GrabFocusOnConnect(VARIANT_BOOL pfGrabFocusOnConnect) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_GrabFocusOnConnect, pfGrabFocusOnConnect); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_GrabFocusOnConnect(VARIANT_BOOL * pfGrabFocusOnConnect) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_GrabFocusOnConnect, pfGrabFocusOnConnect); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_LoadBalanceInfo(BSTR pLBInfo) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_LoadBalanceInfo, pLBInfo); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_LoadBalanceInfo(BSTR * pLBInfo) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_LoadBalanceInfo, pLBInfo); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectDrives(VARIANT_BOOL pRedirectDrives) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_RedirectDrives, pRedirectDrives); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectDrives(VARIANT_BOOL * pRedirectDrives) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_RedirectDrives, pRedirectDrives); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectPrinters(VARIANT_BOOL pRedirectPrinters) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_RedirectPrinters, pRedirectPrinters); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectPrinters(VARIANT_BOOL * pRedirectPrinters) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_RedirectPrinters, pRedirectPrinters); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectPorts(VARIANT_BOOL pRedirectPorts) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_RedirectPorts, pRedirectPorts); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectPorts(VARIANT_BOOL * pRedirectPorts) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_RedirectPorts, pRedirectPorts); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_RedirectSmartCards(VARIANT_BOOL pRedirectSmartCards) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_RedirectSmartCards, pRedirectSmartCards); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_RedirectSmartCards(VARIANT_BOOL * pRedirectSmartCards) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_RedirectSmartCards, pRedirectSmartCards); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapVirtualCache16BppSize(long pBitmapVirtualCache16BppSize) { - return E_NOTIMPL; // TODO + if(pBitmapVirtualCache16BppSize < 0 || pBitmapVirtualCache16BppSize > 32) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_BitmapVirtualCache16BppSize, pBitmapVirtualCache16BppSize); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapVirtualCache16BppSize(long * pBitmapVirtualCache16BppSize) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_BitmapVirtualCache16BppSize, pBitmapVirtualCache16BppSize); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_BitmapVirtualCache24BppSize(long pBitmapVirtualCache24BppSize) { - return E_NOTIMPL; // TODO + if(pBitmapVirtualCache24BppSize < 0 || pBitmapVirtualCache24BppSize > 32) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_BitmapVirtualCache24BppSize, pBitmapVirtualCache24BppSize); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_BitmapVirtualCache24BppSize(long * pBitmapVirtualCache24BppSize) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_BitmapVirtualCache24BppSize, pBitmapVirtualCache24BppSize); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_PerformanceFlags(long pDisableList) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_PerformanceFlags, pDisableList); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_PerformanceFlags(long * pDisableList) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_PerformanceFlags, pDisableList); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_ConnectWithEndpoint(VARIANT * rhs) { - return E_NOTIMPL; // TODO + // TBD? the Microsoft client implements this, but what does it mean? + return E_NOTIMPL; } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::put_NotifyTSPublicKey(VARIANT_BOOL pfNotify) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_NotifyTSPublicKey, pfNotify); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings::get_NotifyTSPublicKey(VARIANT_BOOL * pfNotify) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_NotifyTSPublicKey, pfNotify); } /* IMsRdpClientAdvancedSettings2 */ @@ -1011,54 +1586,58 @@ private: virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::put_EnableAutoReconnect(VARIANT_BOOL pfEnableAutoReconnect) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_EnableAutoReconnect, pfEnableAutoReconnect); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::get_EnableAutoReconnect(VARIANT_BOOL * pfEnableAutoReconnect) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_EnableAutoReconnect, pfEnableAutoReconnect); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::put_MaxReconnectAttempts(long pMaxReconnectAttempts) { - return E_NOTIMPL; // TODO + if(pMaxReconnectAttempts < 0 || pMaxReconnectAttempts > 200) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_MaxReconnectAttempts, pMaxReconnectAttempts); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings2::get_MaxReconnectAttempts(long * pMaxReconnectAttempts) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_MaxReconnectAttempts, pMaxReconnectAttempts); } /* IMsRdpClientAdvancedSettings3 */ virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::put_ConnectionBarShowMinimizeButton(VARIANT_BOOL pfShowMinimize) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_ConnectionBarShowMinimizeButton, pfShowMinimize); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::get_ConnectionBarShowMinimizeButton(VARIANT_BOOL * pfShowMinimize) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_ConnectionBarShowMinimizeButton, pfShowMinimize); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::put_ConnectionBarShowRestoreButton(VARIANT_BOOL pfShowRestore) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_ConnectionBarShowRestoreButton, pfShowRestore); } virtual STDMETHODIMP IMsRdpClientAdvancedSettings3::get_ConnectionBarShowRestoreButton(VARIANT_BOOL * pfShowRestore) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_ConnectionBarShowRestoreButton, pfShowRestore); } /* IMsRdpClientAdvancedSettings4 */ virtual STDMETHODIMP IMsRdpClientAdvancedSettings4::put_AuthenticationLevel(unsigned int puiAuthLevel) { - return E_NOTIMPL; // TODO + // TODO: this isn't implemented in rdesktop yet... + return Outer()->SetProperty(Outer()->m_AuthenticationLevel, puiAuthLevel); } - + virtual STDMETHODIMP IMsRdpClientAdvancedSettings4::get_AuthenticationLevel(unsigned int * puiAuthLevel) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_AuthenticationLevel, puiAuthLevel); } } m_advancedSettings; @@ -1070,12 +1649,22 @@ private: return S_OK; } - /* Secured settings */ + /* Secured settings wrapper */ friend class SecuredSettings; - class SecuredSettings: public MSTSCLib::IMsRdpClientSecuredSettings + class SecuredSettings sealed: public MSTSCLib::IMsRdpClientSecuredSettings { private: + RdpClient * Outer() + { + return InnerToOuter(this); + } + + const RdpClient * Outer() const + { + return InnerToOuter(this); + } + /* IDispatch type information */ ITypeInfo * m_dispTypeInfo; @@ -1084,12 +1673,12 @@ private: if(m_dispTypeInfo) return S_OK; - HRESULT hr = InnerToOuter(this)->LoadTypeLibrary(); + HRESULT hr = Outer()->LoadTypeLibrary(); if(FAILED(hr)) return hr; - hr = InnerToOuter(this)->m_typeLib->GetTypeInfoOfGuid(MSTSCLib::IID_IMsRdpClientSecuredSettings, &m_dispTypeInfo); + hr = Outer()->m_typeLib->GetTypeInfoOfGuid(MSTSCLib::IID_IMsRdpClientSecuredSettings, &m_dispTypeInfo); if(FAILED(hr)) return hr; @@ -1110,7 +1699,6 @@ private: return S_OK; } - public: ~SecuredSettings() { @@ -1132,7 +1720,7 @@ private: ) { *ppvObject = this; - InnerToOuter(this)->addRef(); + Outer()->addRef(); return S_OK; } else @@ -1144,12 +1732,12 @@ private: virtual STDMETHODIMP_(ULONG) IUnknown::AddRef() { - return InnerToOuter(this)->addRef(); + return Outer()->addRef(); } virtual STDMETHODIMP_(ULONG) IUnknown::Release() { - return InnerToOuter(this)->release(); + return Outer()->release(); } /* IDispatch */ @@ -1194,57 +1782,73 @@ private: /* IMsTscSecuredSettings */ virtual STDMETHODIMP IMsTscSecuredSettings::put_StartProgram(BSTR pStartProgram) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_StartProgram, pStartProgram); } virtual STDMETHODIMP IMsTscSecuredSettings::get_StartProgram(BSTR * pStartProgram) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_StartProgram, pStartProgram); } virtual STDMETHODIMP IMsTscSecuredSettings::put_WorkDir(BSTR pWorkDir) { - return E_NOTIMPL; // TODO + return Outer()->SetProperty(Outer()->m_WorkDir, pWorkDir); } virtual STDMETHODIMP IMsTscSecuredSettings::get_WorkDir(BSTR * pWorkDir) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_WorkDir, pWorkDir); } virtual STDMETHODIMP IMsTscSecuredSettings::put_FullScreen(long pfFullScreen) { - return E_NOTIMPL; // TODO + return Outer()->put_FullScreen(!!pfFullScreen); } virtual STDMETHODIMP IMsTscSecuredSettings::get_FullScreen(long * pfFullScreen) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_FullScreen, pfFullScreen); } /* IMsRdpClientSecuredSettings */ virtual STDMETHODIMP IMsRdpClientSecuredSettings::put_KeyboardHookMode(long pkeyboardHookMode) { - return E_NOTIMPL; // TODO + if(pkeyboardHookMode < 0 || pkeyboardHookMode > 2) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_KeyboardHookMode, pkeyboardHookMode); } virtual STDMETHODIMP IMsRdpClientSecuredSettings::get_KeyboardHookMode(long * pkeyboardHookMode) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_KeyboardHookMode, pkeyboardHookMode); } virtual STDMETHODIMP IMsRdpClientSecuredSettings::put_AudioRedirectionMode(long pAudioRedirectionMode) { - return E_NOTIMPL; // TODO + if(pAudioRedirectionMode < 0 || pAudioRedirectionMode > 2) + return E_INVALIDARG; + + return Outer()->SetProperty(Outer()->m_AudioRedirectionMode, pAudioRedirectionMode); } virtual STDMETHODIMP IMsRdpClientSecuredSettings::get_AudioRedirectionMode(long * pAudioRedirectionMode) { - return E_NOTIMPL; // TODO + return Outer()->GetProperty(Outer()->m_AudioRedirectionMode, pAudioRedirectionMode); } } m_securedSettings; + template HRESULT GetSecuredSettings(Interface ** ppSecuredSettings) + { + if(!m_SecuredSettingsEnabled) + return E_FAIL; + + addRef(); + *ppSecuredSettings = &m_securedSettings; + return S_OK; + } + /* Type library loading */ HRESULT LoadTypeLibrary() { @@ -1314,16 +1918,41 @@ public: return CONTAINING_RECORD(innerThis, RdpClient, m_securedSettings); } + static const RdpClient * InnerToOuter(const RdpClientInner * innerThis) + { + return CONTAINING_RECORD(innerThis, RdpClient, m_inner); + } + + static const RdpClient * InnerToOuter(const AdvancedSettings * innerThis) + { + return CONTAINING_RECORD(innerThis, RdpClient, m_advancedSettings); + } + + static const RdpClient * InnerToOuter(const SecuredSettings * innerThis) + { + return CONTAINING_RECORD(innerThis, RdpClient, m_securedSettings); + } + public: /* Class factory */ - static HRESULT CreateInstance(REFCLSID classId, IUnknown * punkOuter, LONG * moduleRefCount, IUnknown ** ppObj) + static HRESULT CreateInstance(REFCLSID rclsid, IUnknown * punkOuter, REFIID riid, void ** ppObj) { - RdpClient * obj = new RdpClient(classId, punkOuter, moduleRefCount); + RdpClient * obj = new RdpClient(rclsid, punkOuter); if(obj == NULL) return E_OUTOFMEMORY; - *ppObj = &obj->m_inner; + HRESULT hr = obj->m_inner.QueryInterface(riid, ppObj); + + if(FAILED(hr)) + { + delete obj; + return hr; + } + + assert(obj->m_refCount == 1); + assert(*ppObj != NULL); + return S_OK; } @@ -1391,566 +2020,752 @@ public: ); } - /* IConnectionPointContainer */ // 0/2 - virtual STDMETHODIMP IConnectionPointContainer::EnumConnectionPoints(IEnumConnectionPoints ** ppEnum) - { - return E_NOTIMPL; + /* IConnectionPoint */ // DONE // FIXME! support more than one connection! + virtual STDMETHODIMP GetConnectionInterface(IID * pIID) + { + assert(pIID); + *pIID = MSTSCLib::DIID_IMsTscAxEvents; + return S_OK; } - virtual STDMETHODIMP IConnectionPointContainer::FindConnectionPoint(REFIID riid, IConnectionPoint ** ppCP) - { - return E_NOTIMPL; + virtual STDMETHODIMP GetConnectionPointContainer(IConnectionPointContainer ** ppCPC) + { + assert(ppCPC); + addRef(); + *ppCPC = this; + return S_OK; + } + + virtual STDMETHODIMP Advise(IUnknown * pUnkSink, DWORD * pdwCookie) + { + if(m_EventSinksCount == 0) + { + if(FAILED(pUnkSink->QueryInterface(&m_EventSinksStatic[0]))) + return CONNECT_E_CANNOTCONNECT; + + ++ m_EventSinksCount; + + *pdwCookie = 1; + return S_OK; + } + + return CONNECT_E_ADVISELIMIT; + } + + virtual STDMETHODIMP Unadvise(DWORD dwCookie) + { + if(dwCookie != 1 || m_EventSinksCount == 0) + return CONNECT_E_NOCONNECTION; + + m_EventSinksStatic[0]->Release(); + m_EventSinksStatic[0] = NULL; + m_EventSinksCount = 0; + return S_OK; + } + + virtual STDMETHODIMP EnumConnections(IEnumConnections ** ppEnum) + { + // I see no real value in this + return E_NOTIMPL; + } + + /* IConnectionPointContainer */ // DONE + class CEnumConnectionPoints: public IEnumConnectionPoints + { + private: + LONG m_refCount; + IConnectionPoint * m_cp; + bool m_done; + + public: + CEnumConnectionPoints(IConnectionPoint * cp): m_refCount(1), m_cp(cp), m_done(false) + { + assert(m_cp); + m_cp->AddRef(); + } + + CEnumConnectionPoints(const CEnumConnectionPoints& ecp): m_refCount(1), m_cp(ecp.m_cp), m_done(ecp.m_done) + { + assert(m_cp); + m_cp->AddRef(); + } + + ~CEnumConnectionPoints() + { + assert(m_cp); + m_cp->Release(); + } + + virtual STDMETHODIMP QueryInterface(REFIID riid, void ** ppvObject) + { + if(riid == IID_IUnknown || riid == IID_IEnumConnectionPoints) + { + *ppvObject = this; + return S_OK; + } + else + { + *ppvObject = NULL; + return E_NOINTERFACE; + } + } + + virtual STDMETHODIMP_(ULONG) AddRef() + { + return InterlockedIncrement(&m_refCount); + } + + virtual STDMETHODIMP_(ULONG) Release() + { + LONG n = InterlockedDecrement(&m_refCount); + + if(n == 0) + delete this; + + return n; + } + + virtual STDMETHODIMP Next(ULONG cConnections, LPCONNECTIONPOINT * ppCP, ULONG * pcFetched) + { + if(cConnections == 0 || m_done) + return S_FALSE; + + m_done = true; + m_cp->AddRef(); + *ppCP = m_cp; + *pcFetched = 1; + + return S_OK; + } + + virtual STDMETHODIMP Skip(ULONG cConnections) + { + if(cConnections == 0) + return S_OK; + + if(cConnections == 1 && !m_done) + { + m_done = true; + return S_OK; + } + + assert(cConnections > 1 || m_done); + + return S_FALSE; + } + + virtual STDMETHODIMP Reset() + { + m_done = false; + return S_OK; + } + + virtual STDMETHODIMP Clone(IEnumConnectionPoints ** ppEnum) + { + *ppEnum = new CEnumConnectionPoints(*this); + + if(*ppEnum == NULL) + return E_OUTOFMEMORY; + + return S_OK; + } + }; + + virtual STDMETHODIMP IConnectionPointContainer::EnumConnectionPoints(IEnumConnectionPoints ** ppEnum) + { + *ppEnum = new CEnumConnectionPoints(this); + + if(*ppEnum == NULL) + return E_OUTOFMEMORY; + + return S_OK; + } + + virtual STDMETHODIMP IConnectionPointContainer::FindConnectionPoint(REFIID riid, IConnectionPoint ** ppCP) + { + if(riid != MSTSCLib::DIID_IMsTscAxEvents) + return CONNECT_E_NOCONNECTION; + + addRef(); + *ppCP = this; + + return S_OK; } /* IDataObject */ // 0/9 - virtual STDMETHODIMP IDataObject::GetData(FORMATETC * pformatetcIn, STGMEDIUM * pmedium) - { - return E_NOTIMPL; + virtual STDMETHODIMP IDataObject::GetData(FORMATETC * pformatetcIn, STGMEDIUM * pmedium) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IDataObject::GetDataHere(FORMATETC * pformatetc, STGMEDIUM * pmedium) - { - return E_NOTIMPL; + virtual STDMETHODIMP IDataObject::GetDataHere(FORMATETC * pformatetc, STGMEDIUM * pmedium) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IDataObject::QueryGetData(FORMATETC * pformatetc) - { - return E_NOTIMPL; + virtual STDMETHODIMP IDataObject::QueryGetData(FORMATETC * pformatetc) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IDataObject::GetCanonicalFormatEtc(FORMATETC * pformatectIn, FORMATETC * pformatetcOut) - { - return E_NOTIMPL; + virtual STDMETHODIMP IDataObject::GetCanonicalFormatEtc(FORMATETC * pformatectIn, FORMATETC * pformatetcOut) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IDataObject::SetData(FORMATETC * pformatetc, STGMEDIUM * pmedium, BOOL fRelease) - { - return E_NOTIMPL; + virtual STDMETHODIMP IDataObject::SetData(FORMATETC * pformatetc, STGMEDIUM * pmedium, BOOL fRelease) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IDataObject::EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC ** ppenumFormatEtc) - { - return E_NOTIMPL; + virtual STDMETHODIMP IDataObject::EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC ** ppenumFormatEtc) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IDataObject::DAdvise(FORMATETC * pformatetc, DWORD advf, IAdviseSink * pAdvSink, DWORD * pdwConnection) - { - return E_NOTIMPL; + virtual STDMETHODIMP IDataObject::DAdvise(FORMATETC * pformatetc, DWORD advf, IAdviseSink * pAdvSink, DWORD * pdwConnection) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IDataObject::DUnadvise(DWORD dwConnection) - { - return E_NOTIMPL; + virtual STDMETHODIMP IDataObject::DUnadvise(DWORD dwConnection) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IDataObject::EnumDAdvise(IEnumSTATDATA ** ppenumAdvise) - { - return E_NOTIMPL; + virtual STDMETHODIMP IDataObject::EnumDAdvise(IEnumSTATDATA ** ppenumAdvise) + { + return E_NOTIMPL; } - /* IObjectSafety */ // 0/2 - virtual STDMETHODIMP IObjectSafety::GetInterfaceSafetyOptions(REFIID riid, DWORD * pdwSupportedOptions, DWORD * pdwEnabledOptions) - { - return E_NOTIMPL; + /* IObjectSafety */ // DONE + virtual STDMETHODIMP IObjectSafety::GetInterfaceSafetyOptions(REFIID riid, DWORD * pdwSupportedOptions, DWORD * pdwEnabledOptions) + { + if(pdwSupportedOptions == NULL || pdwEnabledOptions == NULL) + return E_POINTER; + + if(riid != IID_IDispatch) + return E_NOINTERFACE; + + *pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER; + *pdwEnabledOptions = m_SafetyOptions; + return S_OK; } - virtual STDMETHODIMP IObjectSafety::SetInterfaceSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions) - { - return E_NOTIMPL; + virtual STDMETHODIMP IObjectSafety::SetInterfaceSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions) + { + if(riid != IID_IDispatch) + return E_NOINTERFACE; + + m_SafetyOptions = dwEnabledOptions & (dwOptionSetMask & INTERFACESAFE_FOR_UNTRUSTED_CALLER); + return S_OK; } - /* IOleControl */ // 0/4 - virtual STDMETHODIMP IOleControl::GetControlInfo(CONTROLINFO * pCI) - { - return E_NOTIMPL; + /* IOleControl */ // DONE + virtual STDMETHODIMP IOleControl::GetControlInfo(CONTROLINFO * pCI) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IOleControl::OnMnemonic(MSG * pMsg) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleControl::OnMnemonic(MSG * pMsg) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IOleControl::OnAmbientPropertyChange(DISPID dispID) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleControl::OnAmbientPropertyChange(DISPID dispID) + { + return S_OK; } - virtual STDMETHODIMP IOleControl::FreezeEvents(BOOL bFreeze) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleControl::FreezeEvents(BOOL bFreeze) + { + // TODO? do we need special processing for this? + return S_OK; } - /* IOleInPlaceActiveObject */ // 0/5 - virtual STDMETHODIMP IOleInPlaceActiveObject::TranslateAccelerator(LPMSG lpmsg) - { - return E_NOTIMPL; + /* IOleInPlaceActiveObject */ // 3/5 + virtual STDMETHODIMP IOleInPlaceActiveObject::TranslateAccelerator(LPMSG lpmsg) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IOleInPlaceActiveObject::OnFrameWindowActivate(BOOL fActivate) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleInPlaceActiveObject::OnFrameWindowActivate(BOOL fActivate) + { + // TODO? + return E_NOTIMPL; } - virtual STDMETHODIMP IOleInPlaceActiveObject::OnDocWindowActivate(BOOL fActivate) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleInPlaceActiveObject::OnDocWindowActivate(BOOL fActivate) + { + // TODO? + return E_NOTIMPL; } - virtual STDMETHODIMP IOleInPlaceActiveObject::ResizeBorder(LPCRECT prcBorder, IOleInPlaceUIWindow * pUIWindow, BOOL fFrameWindow) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleInPlaceActiveObject::ResizeBorder(LPCRECT prcBorder, IOleInPlaceUIWindow * pUIWindow, BOOL fFrameWindow) + { + return S_OK; } - virtual STDMETHODIMP IOleInPlaceActiveObject::EnableModeless(BOOL fEnable) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleInPlaceActiveObject::EnableModeless(BOOL fEnable) + { + return S_OK; } /* IOleInPlaceObject */ // 0/4 - virtual STDMETHODIMP IOleInPlaceObject::InPlaceDeactivate() - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleInPlaceObject::InPlaceDeactivate() + { + return E_NOTIMPL; } - virtual STDMETHODIMP IOleInPlaceObject::UIDeactivate() - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleInPlaceObject::UIDeactivate() + { + return E_NOTIMPL; } - virtual STDMETHODIMP IOleInPlaceObject::SetObjectRects(LPCRECT lprcPosRect, LPCRECT lprcClipRect) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleInPlaceObject::SetObjectRects(LPCRECT lprcPosRect, LPCRECT lprcClipRect) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IOleInPlaceObject::ReactivateAndUndo() - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleInPlaceObject::ReactivateAndUndo() + { + return E_NOTIMPL; } - /* IOleObject */ // 0/21 - virtual STDMETHODIMP IOleObject::SetClientSite(IOleClientSite * pClientSite) - { - return E_NOTIMPL; + /* IOleObject */ // 14/21 + virtual STDMETHODIMP IOleObject::SetClientSite(IOleClientSite * pClientSite) + { + if(m_clientSite) + m_clientSite->Release(); + + m_clientSite = pClientSite; + + if(m_clientSite) + m_clientSite->AddRef(); + + return S_OK; } - virtual STDMETHODIMP IOleObject::GetClientSite(IOleClientSite ** ppClientSite) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::GetClientSite(IOleClientSite ** ppClientSite) + { + if(ppClientSite == NULL) + return E_POINTER; + + if(m_clientSite) + m_clientSite->AddRef(); + + *ppClientSite = m_clientSite; + return S_OK; } - virtual STDMETHODIMP IOleObject::SetHostNames(LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::SetHostNames(LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) + { + return S_OK; } - virtual STDMETHODIMP IOleObject::Close(DWORD dwSaveOption) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::Close(DWORD dwSaveOption) + { + return E_NOTIMPL; // TODO } - virtual STDMETHODIMP IOleObject::SetMoniker(DWORD dwWhichMoniker, IMoniker * pmk) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::SetMoniker(DWORD dwWhichMoniker, IMoniker * pmk) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IOleObject::GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker, IMoniker ** ppmk) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::GetMoniker(DWORD dwAssign, DWORD dwWhichMoniker, IMoniker ** ppmk) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IOleObject::InitFromData(IDataObject * pDataObject, BOOL fCreation, DWORD dwReserved) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::InitFromData(IDataObject * pDataObject, BOOL fCreation, DWORD dwReserved) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IOleObject::GetClipboardData(DWORD dwReserved, IDataObject ** ppDataObject) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::GetClipboardData(DWORD dwReserved, IDataObject ** ppDataObject) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IOleObject::DoVerb(LONG iVerb, LPMSG lpmsg, IOleClientSite * pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::DoVerb(LONG iVerb, LPMSG lpmsg, IOleClientSite * pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) + { + return E_NOTIMPL; // TODO } - virtual STDMETHODIMP IOleObject::EnumVerbs(IEnumOLEVERB ** ppEnumOleVerb) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::EnumVerbs(IEnumOLEVERB ** ppEnumOleVerb) + { + return OleRegEnumVerbs(m_classId, ppEnumOleVerb); } - virtual STDMETHODIMP IOleObject::Update() - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::Update() + { + return S_OK; } - virtual STDMETHODIMP IOleObject::IsUpToDate() - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::IsUpToDate() + { + return S_OK; } - virtual STDMETHODIMP IOleObject::GetUserClassID(CLSID * pClsid) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::GetUserClassID(CLSID * pClsid) + { + *pClsid = m_classId; + return S_OK; } - virtual STDMETHODIMP IOleObject::GetUserType(DWORD dwFormOfType, LPOLESTR * pszUserType) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::GetUserType(DWORD dwFormOfType, LPOLESTR * pszUserType) + { + return OleRegGetUserType(m_classId, dwFormOfType, pszUserType); } - virtual STDMETHODIMP IOleObject::SetExtent(DWORD dwDrawAspect, SIZEL * psizel) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::SetExtent(DWORD dwDrawAspect, SIZEL * psizel) + { + return E_NOTIMPL; // TODO } - virtual STDMETHODIMP IOleObject::GetExtent(DWORD dwDrawAspect, SIZEL * psizel) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::GetExtent(DWORD dwDrawAspect, SIZEL * psizel) + { + return E_NOTIMPL; // TODO } - virtual STDMETHODIMP IOleObject::Advise(IAdviseSink * pAdvSink, DWORD * pdwConnection) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::Advise(IAdviseSink * pAdvSink, DWORD * pdwConnection) + { + return E_NOTIMPL; // TODO } - virtual STDMETHODIMP IOleObject::Unadvise(DWORD dwConnection) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::Unadvise(DWORD dwConnection) + { + return E_NOTIMPL; // TODO } - virtual STDMETHODIMP IOleObject::EnumAdvise(IEnumSTATDATA ** ppenumAdvise) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::EnumAdvise(IEnumSTATDATA ** ppenumAdvise) + { + return E_NOTIMPL; // TODO } - virtual STDMETHODIMP IOleObject::GetMiscStatus(DWORD dwAspect, DWORD * pdwStatus) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::GetMiscStatus(DWORD dwAspect, DWORD * pdwStatus) + { + return OleRegGetMiscStatus(m_classId, dwAspect, pdwStatus); } - virtual STDMETHODIMP IOleObject::SetColorScheme(LOGPALETTE * pLogpal) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleObject::SetColorScheme(LOGPALETTE * pLogpal) + { + return E_NOTIMPL; } - /* IOleWindow */ // 0/2 - virtual STDMETHODIMP IOleWindow::GetWindow(HWND * phwnd) - { - return E_NOTIMPL; + /* IOleWindow */ // DONE + virtual STDMETHODIMP IOleWindow::GetWindow(HWND * phwnd) + { + if(phwnd == NULL) + return E_POINTER; + + if(m_controlWindow == NULL) + return E_FAIL; + + *phwnd = m_controlWindow; + return S_OK; } - virtual STDMETHODIMP IOleWindow::ContextSensitiveHelp(BOOL fEnterMode) - { - return E_NOTIMPL; + virtual STDMETHODIMP IOleWindow::ContextSensitiveHelp(BOOL fEnterMode) + { + return E_NOTIMPL; } /* IPersist */ // DONE - virtual STDMETHODIMP IPersist::GetClassID(CLSID * pClassID) - { - *pClassID = m_classId; - return S_OK; + virtual STDMETHODIMP IPersist::GetClassID(CLSID * pClassID) + { + *pClassID = m_classId; + return S_OK; } /* IPersistPropertyBag */ // 0/3 - virtual STDMETHODIMP IPersistPropertyBag::InitNew() - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistPropertyBag::InitNew() + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistPropertyBag::Load(IPropertyBag * pPropBag, IErrorLog * pErrorLog) - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistPropertyBag::Load(IPropertyBag * pPropBag, IErrorLog * pErrorLog) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistPropertyBag::Save(IPropertyBag * pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties) - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistPropertyBag::Save(IPropertyBag * pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties) + { + return E_NOTIMPL; } /* IPersistStorage */ // 0/6 - virtual STDMETHODIMP IPersistStorage::IsDirty() - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStorage::IsDirty() + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistStorage::InitNew(IStorage * pStg) - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStorage::InitNew(IStorage * pStg) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistStorage::Load(IStorage * pStg) - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStorage::Load(IStorage * pStg) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistStorage::Save(IStorage * pStgSave, BOOL fSameAsLoad) - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStorage::Save(IStorage * pStgSave, BOOL fSameAsLoad) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistStorage::SaveCompleted(IStorage * pStgNew) - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStorage::SaveCompleted(IStorage * pStgNew) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistStorage::HandsOffStorage() - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStorage::HandsOffStorage() + { + return E_NOTIMPL; } /* IPersistStreamInit */ // 0/5 - virtual STDMETHODIMP IPersistStreamInit::IsDirty() - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStreamInit::IsDirty() + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistStreamInit::Load(LPSTREAM pStm) - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStreamInit::Load(LPSTREAM pStm) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistStreamInit::Save(LPSTREAM pStm, BOOL fClearDirty) - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStreamInit::Save(LPSTREAM pStm, BOOL fClearDirty) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistStreamInit::GetSizeMax(ULARGE_INTEGER * pCbSize) - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStreamInit::GetSizeMax(ULARGE_INTEGER * pCbSize) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IPersistStreamInit::InitNew() - { - return E_NOTIMPL; + virtual STDMETHODIMP IPersistStreamInit::InitNew() + { + return E_NOTIMPL; } /* IProvideClassInfo */ // DONE - virtual STDMETHODIMP IProvideClassInfo::GetClassInfo(ITypeInfo ** ppTI) - { - HRESULT hr = LoadTypeLibrary(); - - if(FAILED(hr)) - return hr; - - return m_typeLib->GetTypeInfoOfGuid(m_classId, ppTI); + virtual STDMETHODIMP IProvideClassInfo::GetClassInfo(ITypeInfo ** ppTI) + { + HRESULT hr = LoadTypeLibrary(); + + if(FAILED(hr)) + return hr; + + return m_typeLib->GetTypeInfoOfGuid(m_classId, ppTI); } /* IProvideClassInfo2 */ // DONE - virtual STDMETHODIMP IProvideClassInfo2::GetGUID(DWORD dwGuidKind, GUID * pGUID) - { - if(dwGuidKind != GUIDKIND_DEFAULT_SOURCE_DISP_IID) - return E_INVALIDARG; - - *pGUID = MSTSCLib::DIID_IMsTscAxEvents; - return S_OK; + virtual STDMETHODIMP IProvideClassInfo2::GetGUID(DWORD dwGuidKind, GUID * pGUID) + { + if(dwGuidKind != GUIDKIND_DEFAULT_SOURCE_DISP_IID) + return E_INVALIDARG; + + *pGUID = MSTSCLib::DIID_IMsTscAxEvents; + return S_OK; } - /* IQuickActivate */ // 0/3 - virtual STDMETHODIMP IQuickActivate::QuickActivate(QACONTAINER * pQaContainer, QACONTROL * pQaControl) - { - return E_NOTIMPL; + /* IQuickActivate */ // 2/3 + virtual STDMETHODIMP IQuickActivate::QuickActivate(QACONTAINER * pQaContainer, QACONTROL * pQaControl) + { + return E_NOTIMPL; // TODO } - virtual STDMETHODIMP IQuickActivate::SetContentExtent(LPSIZEL pSizel) - { - return E_NOTIMPL; + virtual STDMETHODIMP IQuickActivate::SetContentExtent(LPSIZEL pSizel) + { + return SetExtent(DVASPECT_CONTENT, pSizel); } - virtual STDMETHODIMP IQuickActivate::GetContentExtent(LPSIZEL pSizel) - { - return E_NOTIMPL; + virtual STDMETHODIMP IQuickActivate::GetContentExtent(LPSIZEL pSizel) + { + return GetExtent(DVASPECT_CONTENT, pSizel); } - /* IViewObject */ // 0/6 - virtual STDMETHODIMP IViewObject::Draw(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE * ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (STDMETHODCALLTYPE * pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue) - { - return E_NOTIMPL; + /* IViewObject */ // 3/6 + virtual STDMETHODIMP IViewObject::Draw(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE * ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (STDMETHODCALLTYPE * pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue) + { + return E_NOTIMPL; // TODO } - virtual STDMETHODIMP IViewObject::GetColorSet(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE * ptd, HDC hicTargetDev, LOGPALETTE ** ppColorSet) - { - return E_NOTIMPL; + virtual STDMETHODIMP IViewObject::GetColorSet(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DVTARGETDEVICE * ptd, HDC hicTargetDev, LOGPALETTE ** ppColorSet) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IViewObject::Freeze(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DWORD * pdwFreeze) - { - return E_NOTIMPL; + virtual STDMETHODIMP IViewObject::Freeze(DWORD dwDrawAspect, LONG lindex, void * pvAspect, DWORD * pdwFreeze) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IViewObject::Unfreeze(DWORD dwFreeze) - { - return E_NOTIMPL; + virtual STDMETHODIMP IViewObject::Unfreeze(DWORD dwFreeze) + { + return E_NOTIMPL; } - virtual STDMETHODIMP IViewObject::SetAdvise(DWORD aspects, DWORD advf, IAdviseSink * pAdvSink) - { - return E_NOTIMPL; + virtual STDMETHODIMP IViewObject::SetAdvise(DWORD aspects, DWORD advf, IAdviseSink * pAdvSink) + { + return E_NOTIMPL; // TODO } - virtual STDMETHODIMP IViewObject::GetAdvise(DWORD * pAspects, DWORD * pAdvf, IAdviseSink ** ppAdvSink) - { - return E_NOTIMPL; + virtual STDMETHODIMP IViewObject::GetAdvise(DWORD * pAspects, DWORD * pAdvf, IAdviseSink ** ppAdvSink) + { + return E_NOTIMPL; // TODO } /* IViewObject2 */ // 0/1 - virtual STDMETHODIMP IViewObject2::GetExtent(DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE * ptd, LPSIZEL lpsizel) - { - return E_NOTIMPL; + virtual STDMETHODIMP IViewObject2::GetExtent(DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE * ptd, LPSIZEL lpsizel) + { + return E_NOTIMPL; // TODO } - /* IMsTscAx */ // ??/30 + /* IMsTscAx */ // 23/30 virtual STDMETHODIMP IMsTscAx::put_Server(BSTR pServer) { - if(m_nonIdle) - return E_FAIL; - - return SetStringProperty(m_server, pServer); + return SetProperty(m_Server, pServer); } virtual STDMETHODIMP IMsTscAx::get_Server(BSTR * pServer) { - return GetStringProperty(m_server, pServer); + return GetProperty(m_Server, pServer); } virtual STDMETHODIMP IMsTscAx::put_Domain(BSTR pDomain) { - if(m_nonIdle) - return E_FAIL; - - return SetStringProperty(m_domain, pDomain); + return SetProperty(m_Domain, pDomain); } virtual STDMETHODIMP IMsTscAx::get_Domain(BSTR * pDomain) { - return GetStringProperty(m_domain, pDomain); + return GetProperty(m_Domain, pDomain); } virtual STDMETHODIMP IMsTscAx::put_UserName(BSTR pUserName) { - if(m_nonIdle) - return E_FAIL; - - return SetStringProperty(m_userName, pUserName); + return SetProperty(m_UserName, pUserName); } virtual STDMETHODIMP IMsTscAx::get_UserName(BSTR * pUserName) { - return GetStringProperty(m_userName, pUserName); + return GetProperty(m_UserName, pUserName); } virtual STDMETHODIMP IMsTscAx::put_DisconnectedText(BSTR pDisconnectedText) { - if(m_nonIdle) - return E_FAIL; - - return SetStringProperty(m_disconnectedText, pDisconnectedText); + return SetProperty(m_DisconnectedText, pDisconnectedText); } virtual STDMETHODIMP IMsTscAx::get_DisconnectedText(BSTR * pDisconnectedText) { - return GetStringProperty(m_disconnectedText, pDisconnectedText); + return GetProperty(m_DisconnectedText, pDisconnectedText); } virtual STDMETHODIMP IMsTscAx::put_ConnectingText(BSTR pConnectingText) { - if(m_nonIdle) - return E_FAIL; - - return SetStringProperty(m_connectingText, pConnectingText); + return SetProperty(m_ConnectingText, pConnectingText); } virtual STDMETHODIMP IMsTscAx::get_ConnectingText(BSTR * pConnectingText) { - return GetStringProperty(m_connectingText, pConnectingText); + return GetProperty(m_ConnectingText, pConnectingText); } virtual STDMETHODIMP IMsTscAx::get_Connected(short * pIsConnected) { - * pIsConnected = m_nonIdle; - return S_OK; + return GetProperty(m_Connected, pIsConnected); } virtual STDMETHODIMP IMsTscAx::put_DesktopWidth(long pVal) { - if(m_nonIdle) - return E_FAIL; + if(pVal < 200 || pVal > 1600) + return E_INVALIDARG; - // TODO: validate - - width = pVal; - return S_OK; + return SetProperty(m_DesktopWidth, pVal); } virtual STDMETHODIMP IMsTscAx::get_DesktopWidth(long * pVal) { - * pVal = width; - return S_OK; + return GetProperty(m_DesktopWidth, pVal); } virtual STDMETHODIMP IMsTscAx::put_DesktopHeight(long pVal) { - if(m_nonIdle) - return E_FAIL; + if(pVal < 200 || pVal > 1200) + return E_INVALIDARG; - // TODO: validate - - height = pVal; - return S_OK; + return SetProperty(m_DesktopHeight, pVal); } virtual STDMETHODIMP IMsTscAx::get_DesktopHeight(long * pVal) { - * pVal = height; - return S_OK; + return GetProperty(m_DesktopHeight, pVal); } virtual STDMETHODIMP IMsTscAx::put_StartConnected(long pfStartConnected) { - // TODO: check that the object isn't running - m_startConnected = pfStartConnected != 0; - return S_OK; + return SetProperty(m_StartConnected, pfStartConnected); } virtual STDMETHODIMP IMsTscAx::get_StartConnected(long * pfStartConnected) { - * pfStartConnected = m_startConnected; - return S_OK; + return GetProperty(m_StartConnected, pfStartConnected); } virtual STDMETHODIMP IMsTscAx::get_HorizontalScrollBarVisible(long * pfHScrollVisible) { - return E_NOTIMPL; // TODO + return GetProperty(m_HorizontalScrollBarVisible, pfHScrollVisible); } virtual STDMETHODIMP IMsTscAx::get_VerticalScrollBarVisible(long * pfVScrollVisible) { - return E_NOTIMPL; // TODO + return GetProperty(m_VerticalScrollBarVisible, pfVScrollVisible); } virtual STDMETHODIMP IMsTscAx::put_FullScreenTitle(BSTR rhs) { - return SetStringProperty(m_fullScreenTitle, rhs); + // TODO: limit length + return SetProperty(m_FullScreenTitle, rhs); } virtual STDMETHODIMP IMsTscAx::get_CipherStrength(long * pCipherStrength) { - return E_NOTIMPL; // TODO + if(pCipherStrength == NULL) + return E_INVALIDARG; + + *pCipherStrength = 128; // BUGBUG: a later version may change this. Use a compile-time constant + return S_OK; } virtual STDMETHODIMP IMsTscAx::get_Version(BSTR * pVersion) { - // EASY!!! - return E_NOTIMPL; // TODO + if(pVersion == NULL) + return E_INVALIDARG; + + BSTR version = SysAllocString(L"5.2.3790.1830"); // BUGBUG: don't use hardcoded string + + if(version == NULL) + return E_OUTOFMEMORY; + + *pVersion = version; + return S_OK; } virtual STDMETHODIMP IMsTscAx::get_SecuredSettingsEnabled(long * pSecuredSettingsEnabled) { - return E_NOTIMPL; // TODO + // TODO: initialize m_SecuredSettingsEnabled as soon as we have an OLE client site + return GetProperty(m_SecuredSettingsEnabled, pSecuredSettingsEnabled); } virtual STDMETHODIMP IMsTscAx::get_SecuredSettings(MSTSCLib::IMsTscSecuredSettings ** ppSecuredSettings) { - return E_NOTIMPL; // TODO + return GetSecuredSettings(ppSecuredSettings); } virtual STDMETHODIMP IMsTscAx::get_AdvancedSettings(MSTSCLib::IMsTscAdvancedSettings ** ppAdvSettings) @@ -1960,7 +2775,6 @@ public: virtual STDMETHODIMP IMsTscAx::get_Debugger(MSTSCLib::IMsTscDebug ** ppDebugger) { - // DO NOT IMPLEMENT return E_NOTIMPL; } @@ -1984,15 +2798,28 @@ public: return E_NOTIMPL; // TODO } - /* IMsRdpClient */ // 1/10 + /* IMsRdpClient */ // 6/10 virtual STDMETHODIMP IMsRdpClient::put_ColorDepth(long pcolorDepth) { - return E_NOTIMPL; // TODO + switch(pcolorDepth) + { + case 8: + case 15: + case 16: + case 24: + case 32: + break; + + default: + return E_INVALIDARG; + } + + return SetProperty(m_ColorDepth, pcolorDepth); } virtual STDMETHODIMP IMsRdpClient::get_ColorDepth(long * pcolorDepth) { - return E_NOTIMPL; // TODO + return GetProperty(m_ColorDepth, pcolorDepth); } virtual STDMETHODIMP IMsRdpClient::get_AdvancedSettings2(MSTSCLib::IMsRdpClientAdvancedSettings ** ppAdvSettings) @@ -2002,22 +2829,29 @@ public: virtual STDMETHODIMP IMsRdpClient::get_SecuredSettings2(MSTSCLib::IMsRdpClientSecuredSettings ** ppSecuredSettings) { - return E_NOTIMPL; // TODO + return GetSecuredSettings(ppSecuredSettings); } virtual STDMETHODIMP IMsRdpClient::get_ExtendedDisconnectReason(MSTSCLib::ExtendedDisconnectReasonCode * pExtendedDisconnectReason) { - return E_NOTIMPL; // TODO + return GetProperty(m_ExtendedDisconnectReason, pExtendedDisconnectReason); } virtual STDMETHODIMP IMsRdpClient::put_FullScreen(VARIANT_BOOL pfFullScreen) { - return E_NOTIMPL; // TODO + if(!m_Connected) + return E_FAIL; + + if(pfFullScreen && !m_SecuredSettingsEnabled) + return E_FAIL; + + // TODO + return E_NOTIMPL; } virtual STDMETHODIMP IMsRdpClient::get_FullScreen(VARIANT_BOOL * pfFullScreen) { - return E_NOTIMPL; // TODO + return GetProperty(m_FullScreen, pfFullScreen); } virtual STDMETHODIMP IMsRdpClient::SetVirtualChannelOptions(BSTR chanName, long chanOptions) @@ -2035,7 +2869,7 @@ public: return E_NOTIMPL; // TODO } - /* IMsRdpClient2 */ // 1/3 + /* IMsRdpClient2 */ // DONE virtual STDMETHODIMP IMsRdpClient2::get_AdvancedSettings3(MSTSCLib::IMsRdpClientAdvancedSettings2 ** ppAdvSettings) { return GetAdvancedSettings(ppAdvSettings); @@ -2043,14 +2877,12 @@ public: virtual STDMETHODIMP IMsRdpClient2::put_ConnectedStatusText(BSTR pConnectedStatusText) { - // EASY!!! - return E_NOTIMPL; // TODO + return SetProperty(m_ConnectedStatusText, pConnectedStatusText); } virtual STDMETHODIMP IMsRdpClient2::get_ConnectedStatusText(BSTR * pConnectedStatusText) { - // EASY!!! - return E_NOTIMPL; // TODO + return GetProperty(m_ConnectedStatusText, pConnectedStatusText); } /* IMsRdpClient3 */ // DONE @@ -2065,63 +2897,55 @@ public: return GetAdvancedSettings(ppAdvSettings5); } - /* IMsTscNonScriptable */ // 8/10 + /* IMsTscNonScriptable */ // DONE virtual STDMETHODIMP IMsTscNonScriptable::put_ClearTextPassword(BSTR rhs) { - return E_NOTIMPL; // TODO + return SetProperty(m_ClearTextPassword, rhs); } virtual STDMETHODIMP IMsTscNonScriptable::put_PortablePassword(BSTR pPortablePass) { - // OBSOLETE return E_NOTIMPL; } virtual STDMETHODIMP IMsTscNonScriptable::get_PortablePassword(BSTR * pPortablePass) { - // OBSOLETE return E_NOTIMPL; } virtual STDMETHODIMP IMsTscNonScriptable::put_PortableSalt(BSTR pPortableSalt) { - // OBSOLETE return E_NOTIMPL; } virtual STDMETHODIMP IMsTscNonScriptable::get_PortableSalt(BSTR * pPortableSalt) { - // OBSOLETE return E_NOTIMPL; } virtual STDMETHODIMP IMsTscNonScriptable::put_BinaryPassword(BSTR pBinaryPassword) { - // OBSOLETE return E_NOTIMPL; } virtual STDMETHODIMP IMsTscNonScriptable::get_BinaryPassword(BSTR * pBinaryPassword) { - // OBSOLETE return E_NOTIMPL; } virtual STDMETHODIMP IMsTscNonScriptable::put_BinarySalt(BSTR pSalt) { - // OBSOLETE return E_NOTIMPL; } virtual STDMETHODIMP IMsTscNonScriptable::get_BinarySalt(BSTR * pSalt) { - // OBSOLETE return E_NOTIMPL; } virtual STDMETHODIMP IMsTscNonScriptable::ResetPassword() { - return E_NOTIMPL; // TODO + return SetProperty(m_ClearTextPassword, NULL); } /* IMsRdpClientNonScriptable */ // 0/2 @@ -2137,19 +2961,122 @@ public: return E_NOTIMPL; // TODO } - /* IMsRdpClientNonScriptable2 */ // 0/2 + /* IMsRdpClientNonScriptable2 */ // DONE virtual STDMETHODIMP IMsRdpClientNonScriptable2::put_UIParentWindowHandle(HWND phwndUIParentWindowHandle) { - return E_NOTIMPL; // TODO + return SetProperty(m_UIParentWindowHandle, phwndUIParentWindowHandle); } virtual STDMETHODIMP IMsRdpClientNonScriptable2::get_UIParentWindowHandle(HWND * phwndUIParentWindowHandle) { - return E_NOTIMPL; // TODO + return GetProperty(m_UIParentWindowHandle, phwndUIParentWindowHandle); } - }; #pragma warning(pop) +class ClassFactory: public IClassFactory +{ +private: + LONG m_refCount; + CLSID m_classId; + +public: + ClassFactory(REFCLSID rclsid): + m_refCount(1), + m_classId(rclsid) + { + lockServer(); + } + + ~ClassFactory() + { + unlockServer(); + } + + virtual STDMETHODIMP QueryInterface(REFIID riid, void ** ppvObject) + { + if(riid == IID_IUnknown || riid == IID_IClassFactory) + { + *ppvObject = this; + return S_OK; + } + else + { + *ppvObject = NULL; + return E_NOINTERFACE; + } + } + + virtual STDMETHODIMP_(ULONG) AddRef() + { + return InterlockedIncrement(&m_refCount); + } + + virtual STDMETHODIMP_(ULONG) Release() + { + LONG n = InterlockedDecrement(&m_refCount); + + if(n == 0) + delete this; + + return n; + } + + virtual STDMETHODIMP CreateInstance(IUnknown * pUnkOuter, REFIID riid, void ** ppvObject) + { + if(pUnkOuter && riid != IID_IUnknown) + return CLASS_E_NOAGGREGATION; + + return RdpClient::CreateInstance(m_classId, pUnkOuter, riid, ppvObject); + } + + virtual STDMETHODIMP LockServer(BOOL fLock) + { + if(fLock) + lockServer(); + else + unlockServer(); + + return S_OK; + } +}; + +extern "C" +{ + +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID * ppv) +{ + if + ( + rclsid != MSTSCLib::CLSID_MsTscAx && + rclsid != MSTSCLib::CLSID_MsRdpClient && + rclsid != MSTSCLib::CLSID_MsRdpClient2 && + rclsid != MSTSCLib::CLSID_MsRdpClient3 && + rclsid != MSTSCLib::CLSID_MsRdpClient4 + ) + return CLASS_E_CLASSNOTAVAILABLE; + + ClassFactory * p = new ClassFactory(rclsid); + + if(p == NULL) + return E_OUTOFMEMORY; + + HRESULT hr = p->QueryInterface(riid, ppv); + + p->Release(); + + if(FAILED(hr)) + return hr; + + return S_OK; +} + +STDAPI DllCanUnloadNow(void) +{ + return canUnloadServer() ? S_OK : S_FALSE; +} + +} + // EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.idl b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.idl index a70e6f6bc57..d1ec277ab57 100644 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.idl +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.idl @@ -1,772 +1,561 @@ [ - uuid(8C11EFA1-92C3-11D1-BC1E-00C04FA31489), - version(1.0) +#ifdef MSTSCLIB_REDIST_ + uuid(AF586AAE-B62A-420E-B796-294E7EE64C70), +#else + uuid(8C11EFA1-92C3-11D1-BC1E-00C04FA31489), +#endif + version(1.0) ] library MSTSCLib { - importlib("stdole32.tlb"); + importlib("stdole32.tlb"); - dispinterface IMsTscAxEvents; + dispinterface IMsTscAxEvents; - interface IMsTscAx; - interface IMsRdpClient; - interface IMsRdpClient2; - interface IMsRdpClient3; - interface IMsRdpClient4; + interface IMsTscAx; + interface IMsRdpClient; + interface IMsRdpClient2; + interface IMsRdpClient3; + interface IMsRdpClient4; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - interface IMsRdpClientNonScriptable2; + interface IMsTscNonScriptable; + interface IMsRdpClientNonScriptable; + interface IMsRdpClientNonScriptable2; - interface IMsTscAdvancedSettings; + interface IMsTscAdvancedSettings; interface IMsRdpClientAdvancedSettings; - interface IMsRdpClientAdvancedSettings2; - interface IMsRdpClientAdvancedSettings3; - interface IMsRdpClientAdvancedSettings4; + interface IMsRdpClientAdvancedSettings2; + interface IMsRdpClientAdvancedSettings3; + interface IMsRdpClientAdvancedSettings4; interface IMsTscSecuredSettings; - interface IMsRdpClientSecuredSettings; + interface IMsRdpClientSecuredSettings; interface IMsTscDebug; - typedef [public] - enum __MIDL___MIDL_itf_mstsax_0275_0001 { - autoReconnectContinueAutomatic = 0, - autoReconnectContinueStop = 1, - autoReconnectContinueManual = 2 - } AutoReconnectContinueState; + typedef [public] enum __MIDL___MIDL_itf_mstsax_0275_0001 + { + autoReconnectContinueAutomatic = 0, + autoReconnectContinueStop = 1, + autoReconnectContinueManual = 2 + } + AutoReconnectContinueState; - typedef [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] 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] - enum __MIDL_IMsRdpClient_0002 { - controlCloseCanProceed = 0, - controlCloseWaitForEvents = 1 - } ControlCloseStatus; + typedef [public] enum __MIDL_IMsRdpClient_0002 + { + controlCloseCanProceed = 0, + controlCloseWaitForEvents = 1 + } + ControlCloseStatus; - typedef [public] - unsigned __int3264 UINT_PTR; + typedef [public] unsigned __int3264 UINT_PTR; + typedef [public] __int3264 LONG_PTR; - typedef [public] - __int3264 LONG_PTR; + [uuid(336D5562-EFA8-482E-8CB3-C5C0FC7A7DB6)] + dispinterface IMsTscAxEvents + { + properties: - [uuid(336D5562-EFA8-482E-8CB3-C5C0FC7A7DB6)] - dispinterface IMsTscAxEvents { - properties: - methods: - [id(0x00000001)] - void OnConnecting(); - [id(0x00000002)] - void OnConnected(); - [id(0x00000003)] - void OnLoginComplete(); - [id(0x00000004)] - void OnDisconnected([in] long discReason); - [id(0x00000005)] - void OnEnterFullScreenMode(); - [id(0x00000006)] - void OnLeaveFullScreenMode(); - [id(0x00000007)] - void OnChannelReceivedData( - [in] BSTR chanName, - [in] BSTR data); - [id(0x00000008)] - void OnRequestGoFullScreen(); - [id(0x00000009)] - void OnRequestLeaveFullScreen(); - [id(0x0000000a)] - void OnFatalError([in] long errorCode); - [id(0x0000000b)] - void OnWarning([in] long warningCode); - [id(0x0000000c)] - void OnRemoteDesktopSizeChange( - [in] long width, - [in] long height); - [id(0x0000000d)] - void OnIdleTimeoutNotification(); - [id(0x0000000e)] - void OnRequestContainerMinimize(); - [id(0x0000000f)] - void OnConfirmClose([out, retval] VARIANT_BOOL* pfAllowClose); - [id(0x00000010)] - void OnReceivedTSPublicKey( - [in] BSTR publicKey, - [out, retval] VARIANT_BOOL* pfContinueLogon); - [id(0x00000011)] - void OnAutoReconnecting( - [in] long disconnectReason, - [in] long attemptCount, - [out, retval] AutoReconnectContinueState* pArcContinueStatus); - [id(0x00000012)] - void OnAuthenticationWarningDisplayed(); - [id(0x00000013)] - void OnAuthenticationWarningDismissed(); - }; - [ - uuid(8C11EFAE-92C3-11D1-BC1E-00C04FA31489), - dual, - oleautomation - ] - interface IMsTscAx : IDispatch { - [id(0x00000001), propput] - HRESULT Server([in] BSTR pServer); - [id(0x00000001), propget] - HRESULT Server([out, retval] BSTR* pServer); - [id(0x00000002), propput] - HRESULT Domain([in] BSTR pDomain); - [id(0x00000002), propget] - HRESULT Domain([out, retval] BSTR* pDomain); - [id(0x00000003), propput] - HRESULT UserName([in] BSTR pUserName); - [id(0x00000003), propget] - HRESULT UserName([out, retval] BSTR* pUserName); - [id(0x00000004), propput] - HRESULT DisconnectedText([in] BSTR pDisconnectedText); - [id(0x00000004), propget] - HRESULT DisconnectedText([out, retval] BSTR* pDisconnectedText); - [id(0x00000005), propput] - HRESULT ConnectingText([in] BSTR pConnectingText); - [id(0x00000005), propget] - HRESULT ConnectingText([out, retval] BSTR* pConnectingText); - [id(0x00000006), propget] - HRESULT Connected([out, retval] short* pIsConnected); - [id(0x0000000c), propput] - HRESULT DesktopWidth([in] long pVal); - [id(0x0000000c), propget] - HRESULT DesktopWidth([out, retval] long* pVal); - [id(0x0000000d), propput] - HRESULT DesktopHeight([in] long pVal); - [id(0x0000000d), propget] - HRESULT DesktopHeight([out, retval] long* pVal); - [id(0x00000010), propput] - HRESULT StartConnected([in] long pfStartConnected); - [id(0x00000010), propget] - HRESULT StartConnected([out, retval] long* pfStartConnected); - [id(0x00000011), propget] - HRESULT HorizontalScrollBarVisible([out, retval] long* pfHScrollVisible); - [id(0x00000012), propget] - HRESULT VerticalScrollBarVisible([out, retval] long* pfVScrollVisible); - [id(0x00000013), propput] - HRESULT FullScreenTitle([in] BSTR rhs); - [id(0x00000014), propget] - HRESULT CipherStrength([out, retval] long* pCipherStrength); - [id(0x00000015), propget] - HRESULT Version([out, retval] BSTR* pVersion); - [id(0x00000016), propget] - HRESULT SecuredSettingsEnabled([out, retval] long* pSecuredSettingsEnabled); - [id(0x00000061), propget] - HRESULT SecuredSettings([out, retval] IMsTscSecuredSettings** ppSecuredSettings); - [id(0x00000062), propget] - HRESULT AdvancedSettings([out, retval] IMsTscAdvancedSettings** ppAdvSettings); - [id(0x00000063), propget, hidden] - HRESULT Debugger([out, retval] IMsTscDebug** ppDebugger); - [id(0x0000001e)] - HRESULT Connect(); - [id(0x0000001f)] - HRESULT Disconnect(); - [id(0x00000021)] - HRESULT CreateVirtualChannels([in] BSTR newVal); - [id(0x00000022)] - HRESULT SendOnVirtualChannel( - [in] BSTR chanName, - [in] BSTR ChanData); - }; + methods: + [id(0x00000001)] void OnConnecting(); + [id(0x00000002)] void OnConnected(); + [id(0x00000003)] void OnLoginComplete(); + [id(0x00000004)] void OnDisconnected([in] long discReason); + [id(0x00000005)] void OnEnterFullScreenMode(); + [id(0x00000006)] void OnLeaveFullScreenMode(); + [id(0x00000007)] void OnChannelReceivedData([in] BSTR chanName, [in] BSTR data); + [id(0x00000008)] void OnRequestGoFullScreen(); + [id(0x00000009)] void OnRequestLeaveFullScreen(); + [id(0x0000000a)] void OnFatalError([in] long errorCode); + [id(0x0000000b)] void OnWarning([in] long warningCode); + [id(0x0000000c)] void OnRemoteDesktopSizeChange([in] long width, [in] long height); + [id(0x0000000d)] void OnIdleTimeoutNotification(); + [id(0x0000000e)] void OnRequestContainerMinimize(); + [id(0x0000000f)] void OnConfirmClose([out, retval] VARIANT_BOOL * pfAllowClose); + [id(0x00000010)] void OnReceivedTSPublicKey([in] BSTR publicKey, [out, retval] VARIANT_BOOL * pfContinueLogon); + [id(0x00000011)] void OnAutoReconnecting([in] long disconnectReason, [in] long attemptCount, [out, retval] AutoReconnectContinueState * pArcContinueStatus); + [id(0x00000012)] void OnAuthenticationWarningDisplayed(); + [id(0x00000013)] void OnAuthenticationWarningDismissed(); + }; - [ - uuid(92B4A539-7115-4B7C-A5A9-E5D9EFC2780A), - dual, - oleautomation - ] - interface IMsRdpClient : IMsTscAx { - [id(0x00000064), propput] - HRESULT ColorDepth([in] long pcolorDepth); - [id(0x00000064), propget] - HRESULT ColorDepth([out, retval] long* pcolorDepth); - [id(0x00000065), propget] - HRESULT AdvancedSettings2([out, retval] IMsRdpClientAdvancedSettings** ppAdvSettings); - [id(0x00000066), propget] - HRESULT SecuredSettings2([out, retval] IMsRdpClientSecuredSettings** ppSecuredSettings); - [id(0x00000067), propget] - HRESULT ExtendedDisconnectReason([out, retval] ExtendedDisconnectReasonCode* pExtendedDisconnectReason); - [id(0x00000068), propput] - HRESULT FullScreen([in] VARIANT_BOOL pfFullScreen); - [id(0x00000068), propget] - HRESULT FullScreen([out, retval] VARIANT_BOOL* pfFullScreen); - [id(0x00000023)] - HRESULT SetVirtualChannelOptions( - [in] BSTR chanName, - [in] long chanOptions); - [id(0x00000024)] - HRESULT GetVirtualChannelOptions( - [in] BSTR chanName, - [out, retval] long* pChanOptions); - [id(0x00000025)] - HRESULT RequestClose([out, retval] ControlCloseStatus* pCloseStatus); - }; + [ +#ifdef MSTSCLIB_REDIST_ + uuid(327BB5CD-834E-4400-AEF2-B30E15E5D682), +#else + uuid(8C11EFAE-92C3-11D1-BC1E-00C04FA31489), +#endif + dual, + oleautomation + ] + interface IMsTscAx: IDispatch + { + [id(0x00000001), propput] HRESULT Server([in] BSTR pServer); + [id(0x00000001), propget] HRESULT Server([out, retval] BSTR * pServer); + [id(0x00000002), propput] HRESULT Domain([in] BSTR pDomain); + [id(0x00000002), propget] HRESULT Domain([out, retval] BSTR * pDomain); + [id(0x00000003), propput] HRESULT UserName([in] BSTR pUserName); + [id(0x00000003), propget] HRESULT UserName([out, retval] BSTR * pUserName); + [id(0x00000004), propput] HRESULT DisconnectedText([in] BSTR pDisconnectedText); + [id(0x00000004), propget] HRESULT DisconnectedText([out, retval] BSTR * pDisconnectedText); + [id(0x00000005), propput] HRESULT ConnectingText([in] BSTR pConnectingText); + [id(0x00000005), propget] HRESULT ConnectingText([out, retval] BSTR * pConnectingText); + [id(0x00000006), propget] HRESULT Connected([out, retval] short * pIsConnected); + [id(0x0000000c), propput] HRESULT DesktopWidth([in] long pVal); + [id(0x0000000c), propget] HRESULT DesktopWidth([out, retval] long * pVal); + [id(0x0000000d), propput] HRESULT DesktopHeight([in] long pVal); + [id(0x0000000d), propget] HRESULT DesktopHeight([out, retval] long * pVal); + [id(0x00000010), propput] HRESULT StartConnected([in] long pfStartConnected); + [id(0x00000010), propget] HRESULT StartConnected([out, retval] long * pfStartConnected); + [id(0x00000011), propget] HRESULT HorizontalScrollBarVisible([out, retval] long * pfHScrollVisible); + [id(0x00000012), propget] HRESULT VerticalScrollBarVisible([out, retval] long * pfVScrollVisible); + [id(0x00000013), propput] HRESULT FullScreenTitle([in] BSTR rhs); + [id(0x00000014), propget] HRESULT CipherStrength([out, retval] long * pCipherStrength); + [id(0x00000015), propget] HRESULT Version([out, retval] BSTR * pVersion); + [id(0x00000016), propget] HRESULT SecuredSettingsEnabled([out, retval] long * pSecuredSettingsEnabled); + [id(0x00000061), propget] HRESULT SecuredSettings([out, retval] IMsTscSecuredSettings ** ppSecuredSettings); + [id(0x00000062), propget] HRESULT AdvancedSettings([out, retval] IMsTscAdvancedSettings ** ppAdvSettings); + [id(0x00000063), propget, hidden] HRESULT Debugger([out, retval] IMsTscDebug ** ppDebugger); + [id(0x0000001e)] HRESULT Connect(); + [id(0x0000001f)] HRESULT Disconnect(); + [id(0x00000021)] HRESULT CreateVirtualChannels([in] BSTR newVal); + [id(0x00000022)] HRESULT SendOnVirtualChannel([in] BSTR chanName, [in] BSTR ChanData); + }; - [ - uuid(E7E17DC4-3B71-4BA7-A8E6-281FFADCA28F), - dual, - oleautomation - ] - interface IMsRdpClient2 : IMsRdpClient { - [id(0x000000c8), propget] - HRESULT AdvancedSettings3([out, retval] IMsRdpClientAdvancedSettings2** ppAdvSettings); - [id(0x000000c9), propput] - HRESULT ConnectedStatusText([in] BSTR pConnectedStatusText); - [id(0x000000c9), propget] - HRESULT ConnectedStatusText([out, retval] BSTR* pConnectedStatusText); - }; + [ + uuid(92B4A539-7115-4B7C-A5A9-E5D9EFC2780A), + dual, + oleautomation + ] + interface IMsRdpClient: IMsTscAx + { + [id(0x00000064), propput] HRESULT ColorDepth([in] long pcolorDepth); + [id(0x00000064), propget] HRESULT ColorDepth([out, retval] long * pcolorDepth); + [id(0x00000065), propget] HRESULT AdvancedSettings2([out, retval] IMsRdpClientAdvancedSettings ** ppAdvSettings); + [id(0x00000066), propget] HRESULT SecuredSettings2([out, retval] IMsRdpClientSecuredSettings ** ppSecuredSettings); + [id(0x00000067), propget] HRESULT ExtendedDisconnectReason([out, retval] ExtendedDisconnectReasonCode * pExtendedDisconnectReason); + [id(0x00000068), propput] HRESULT FullScreen([in] VARIANT_BOOL pfFullScreen); + [id(0x00000068), propget] HRESULT FullScreen([out, retval] VARIANT_BOOL * pfFullScreen); + [id(0x00000023)] HRESULT SetVirtualChannelOptions([in] BSTR chanName, [in] long chanOptions); + [id(0x00000024)] HRESULT GetVirtualChannelOptions([in] BSTR chanName, [out, retval] long * pChanOptions); + [id(0x00000025)] HRESULT RequestClose([out, retval] ControlCloseStatus * pCloseStatus); + }; - [ - uuid(91B7CBC5-A72E-4FA0-9300-D647D7E897FF), - dual, - oleautomation - ] - interface IMsRdpClient3 : IMsRdpClient2 { - [id(0x0000012c), propget] - HRESULT AdvancedSettings4([out, retval] IMsRdpClientAdvancedSettings3** ppAdvSettings); - }; + [ + uuid(E7E17DC4-3B71-4BA7-A8E6-281FFADCA28F), + dual, + oleautomation + ] + interface IMsRdpClient2: IMsRdpClient + { + [id(0x000000c8), propget] HRESULT AdvancedSettings3([out, retval] IMsRdpClientAdvancedSettings2 ** ppAdvSettings); + [id(0x000000c9), propput] HRESULT ConnectedStatusText([in] BSTR pConnectedStatusText); + [id(0x000000c9), propget] HRESULT ConnectedStatusText([out, retval] BSTR * pConnectedStatusText); + }; - [ - uuid(095E0738-D97D-488B-B9F6-DD0E8D66C0DE), - dual, - oleautomation - ] - interface IMsRdpClient4 : IMsRdpClient3 { - [id(0x00000190), propget] - HRESULT AdvancedSettings5([out, retval] IMsRdpClientAdvancedSettings4** ppAdvSettings5); - }; + [ + uuid(91B7CBC5-A72E-4FA0-9300-D647D7E897FF), + dual, + oleautomation + ] + interface IMsRdpClient3: IMsRdpClient2 + { + [id(0x0000012c), propget] HRESULT AdvancedSettings4([out, retval] IMsRdpClientAdvancedSettings3 ** ppAdvSettings); + }; - [uuid(C1E6743A-41C1-4A74-832A-0DD06C1C7A0E)] - interface IMsTscNonScriptable : IUnknown { - [propput] - HRESULT __stdcall ClearTextPassword([in] BSTR rhs); - [propput] - HRESULT __stdcall PortablePassword([in] BSTR pPortablePass); - [propget] - HRESULT __stdcall PortablePassword([out, retval] BSTR* pPortablePass); - [propput] - HRESULT __stdcall PortableSalt([in] BSTR pPortableSalt); - [propget] - HRESULT __stdcall PortableSalt([out, retval] BSTR* pPortableSalt); - [propput] - HRESULT __stdcall BinaryPassword([in] BSTR pBinaryPassword); - [propget] - HRESULT __stdcall BinaryPassword([out, retval] BSTR* pBinaryPassword); - [propput] - HRESULT __stdcall BinarySalt([in] BSTR pSalt); - [propget] - HRESULT __stdcall BinarySalt([out, retval] BSTR* pSalt); - HRESULT __stdcall ResetPassword(); - }; + [ + uuid(095E0738-D97D-488B-B9F6-DD0E8D66C0DE), + dual, + oleautomation + ] + interface IMsRdpClient4: IMsRdpClient3 + { + [id(0x00000190), propget] HRESULT AdvancedSettings5([out, retval] IMsRdpClientAdvancedSettings4 ** ppAdvSettings5); + }; - [uuid(2F079C4C-87B2-4AFD-97AB-20CDB43038AE)] - interface IMsRdpClientNonScriptable : IMsTscNonScriptable { - HRESULT __stdcall NotifyRedirectDeviceChange( - [in] UINT_PTR wParam, - [in] LONG_PTR lParam); - HRESULT __stdcall SendKeys( - [in] long numKeys, - [in] VARIANT_BOOL* pbArrayKeyUp, - [in] long* plKeyData); - }; + [uuid(C1E6743A-41C1-4A74-832A-0DD06C1C7A0E)] + interface IMsTscNonScriptable: IUnknown + { + [propput] HRESULT ClearTextPassword([in] BSTR rhs); + [propput] HRESULT PortablePassword([in] BSTR pPortablePass); + [propget] HRESULT PortablePassword([out, retval] BSTR * pPortablePass); + [propput] HRESULT PortableSalt([in] BSTR pPortableSalt); + [propget] HRESULT PortableSalt([out, retval] BSTR * pPortableSalt); + [propput] HRESULT BinaryPassword([in] BSTR pBinaryPassword); + [propget] HRESULT BinaryPassword([out, retval] BSTR * pBinaryPassword); + [propput] HRESULT BinarySalt([in] BSTR pSalt); + [propget] HRESULT BinarySalt([out, retval] BSTR * pSalt); + HRESULT ResetPassword(); + }; - [uuid(17A5E535-4072-4FA4-AF32-C8D0D47345E9)] - interface IMsRdpClientNonScriptable2 : IMsRdpClientNonScriptable { - [propput] - HRESULT __stdcall UIParentWindowHandle([in] HWND phwndUIParentWindowHandle); - [propget] - HRESULT __stdcall UIParentWindowHandle([out, retval] HWND* phwndUIParentWindowHandle); - }; + [uuid(2F079C4C-87B2-4AFD-97AB-20CDB43038AE)] + interface IMsRdpClientNonScriptable: IMsTscNonScriptable + { + HRESULT NotifyRedirectDeviceChange([in] UINT_PTR wParam, [in] LONG_PTR lParam); + HRESULT SendKeys([in] long numKeys, [in] VARIANT_BOOL * pbArrayKeyUp, [in] long * plKeyData); + }; - [ - uuid(809945CC-4B3B-4A92-A6B0-DBF9B5F2EF2D), - dual, - oleautomation - ] - interface IMsTscAdvancedSettings : IDispatch { - [id(0x00000079), propput] - HRESULT Compress([in] long pcompress); - [id(0x00000079), propget] - HRESULT Compress([out, retval] long* pcompress); - [id(0x0000007a), propput] - HRESULT BitmapPeristence([in] long pbitmapPeristence); - [id(0x0000007a), propget] - HRESULT BitmapPeristence([out, retval] long* pbitmapPeristence); - [id(0x000000a1), propput] - HRESULT allowBackgroundInput([in] long pallowBackgroundInput); - [id(0x000000a1), propget] - HRESULT allowBackgroundInput([out, retval] long* pallowBackgroundInput); - [id(0x000000a2), propput] - HRESULT KeyBoardLayoutStr([in] BSTR rhs); - [id(0x000000aa), propput] - HRESULT PluginDlls([in] BSTR rhs); - [id(0x000000ab), propput] - HRESULT IconFile([in] BSTR rhs); - [id(0x000000ac), propput] - HRESULT IconIndex([in] long rhs); - [id(0x000000ad), propput] - HRESULT ContainerHandledFullScreen([in] long pContainerHandledFullScreen); - [id(0x000000ad), propget] - HRESULT ContainerHandledFullScreen([out, retval] long* pContainerHandledFullScreen); - [id(0x000000ae), propput] - HRESULT DisableRdpdr([in] long pDisableRdpdr); - [id(0x000000ae), propget] - HRESULT DisableRdpdr([out, retval] long* pDisableRdpdr); - }; + [uuid(17A5E535-4072-4FA4-AF32-C8D0D47345E9)] + interface IMsRdpClientNonScriptable2: IMsRdpClientNonScriptable + { + [propput] HRESULT UIParentWindowHandle([in] HWND phwndUIParentWindowHandle); + [propget] HRESULT UIParentWindowHandle([out, retval] HWND * phwndUIParentWindowHandle); + }; - [ - uuid(3C65B4AB-12B3-465B-ACD4-B8DAD3BFF9E2), - dual, - oleautomation - ] - interface IMsRdpClientAdvancedSettings : IMsTscAdvancedSettings { - [id(0x00000065), propput] - HRESULT SmoothScroll([in] long psmoothScroll); - [id(0x00000065), propget] - HRESULT SmoothScroll([out, retval] long* psmoothScroll); - [id(0x00000066), propput] - HRESULT AcceleratorPassthrough([in] long pacceleratorPassthrough); - [id(0x00000066), propget] - HRESULT AcceleratorPassthrough([out, retval] long* pacceleratorPassthrough); - [id(0x00000067), propput] - HRESULT ShadowBitmap([in] long pshadowBitmap); - [id(0x00000067), propget] - HRESULT ShadowBitmap([out, retval] long* pshadowBitmap); - [id(0x00000068), propput] - HRESULT TransportType([in] long ptransportType); - [id(0x00000068), propget] - HRESULT TransportType([out, retval] long* ptransportType); - [id(0x00000069), propput] - HRESULT SasSequence([in] long psasSequence); - [id(0x00000069), propget] - HRESULT SasSequence([out, retval] long* psasSequence); - [id(0x0000006a), propput] - HRESULT EncryptionEnabled([in] long pencryptionEnabled); - [id(0x0000006a), propget] - HRESULT EncryptionEnabled([out, retval] long* pencryptionEnabled); - [id(0x0000006b), propput] - HRESULT DedicatedTerminal([in] long pdedicatedTerminal); - [id(0x0000006b), propget] - HRESULT DedicatedTerminal([out, retval] long* pdedicatedTerminal); - [id(0x0000006c), propput] - HRESULT RDPPort([in] long prdpPort); - [id(0x0000006c), propget] - HRESULT RDPPort([out, retval] long* prdpPort); - [id(0x0000006d), propput] - HRESULT EnableMouse([in] long penableMouse); - [id(0x0000006d), propget] - HRESULT EnableMouse([out, retval] long* penableMouse); - [id(0x0000006e), propput] - HRESULT DisableCtrlAltDel([in] long pdisableCtrlAltDel); - [id(0x0000006e), propget] - HRESULT DisableCtrlAltDel([out, retval] long* pdisableCtrlAltDel); - [id(0x0000006f), propput] - HRESULT EnableWindowsKey([in] long penableWindowsKey); - [id(0x0000006f), propget] - HRESULT EnableWindowsKey([out, retval] long* penableWindowsKey); - [id(0x00000070), propput] - HRESULT DoubleClickDetect([in] long pdoubleClickDetect); - [id(0x00000070), propget] - HRESULT DoubleClickDetect([out, retval] long* pdoubleClickDetect); - [id(0x00000071), propput] - HRESULT MaximizeShell([in] long pmaximizeShell); - [id(0x00000071), propget] - HRESULT MaximizeShell([out, retval] long* pmaximizeShell); - [id(0x00000072), propput] - HRESULT HotKeyFullScreen([in] long photKeyFullScreen); - [id(0x00000072), propget] - HRESULT HotKeyFullScreen([out, retval] long* photKeyFullScreen); - [id(0x00000073), propput] - HRESULT HotKeyCtrlEsc([in] long photKeyCtrlEsc); - [id(0x00000073), propget] - HRESULT HotKeyCtrlEsc([out, retval] long* photKeyCtrlEsc); - [id(0x00000074), propput] - HRESULT HotKeyAltEsc([in] long photKeyAltEsc); - [id(0x00000074), propget] - HRESULT HotKeyAltEsc([out, retval] long* photKeyAltEsc); - [id(0x00000075), propput] - HRESULT HotKeyAltTab([in] long photKeyAltTab); - [id(0x00000075), propget] - HRESULT HotKeyAltTab([out, retval] long* photKeyAltTab); - [id(0x00000076), propput] - HRESULT HotKeyAltShiftTab([in] long photKeyAltShiftTab); - [id(0x00000076), propget] - HRESULT HotKeyAltShiftTab([out, retval] long* photKeyAltShiftTab); - [id(0x00000077), propput] - HRESULT HotKeyAltSpace([in] long photKeyAltSpace); - [id(0x00000077), propget] - HRESULT HotKeyAltSpace([out, retval] long* photKeyAltSpace); - [id(0x00000078), propput] - HRESULT HotKeyCtrlAltDel([in] long photKeyCtrlAltDel); - [id(0x00000078), propget] - HRESULT HotKeyCtrlAltDel([out, retval] long* photKeyCtrlAltDel); - [id(0x0000007b), propput] - HRESULT orderDrawThreshold([in] long porderDrawThreshold); - [id(0x0000007b), propget] - HRESULT orderDrawThreshold([out, retval] long* porderDrawThreshold); - [id(0x0000007c), propput] - HRESULT BitmapCacheSize([in] long pbitmapCacheSize); - [id(0x0000007c), propget] - HRESULT BitmapCacheSize([out, retval] long* pbitmapCacheSize); - [id(0x0000007d), propput] - HRESULT BitmapVirtualCacheSize([in] long pbitmapVirtualCacheSize); - [id(0x0000007d), propget] - HRESULT BitmapVirtualCacheSize([out, retval] long* pbitmapVirtualCacheSize); - [id(0x000000af), propput] - HRESULT ScaleBitmapCachesByBPP([in] long pbScale); - [id(0x000000af), propget] - HRESULT ScaleBitmapCachesByBPP([out, retval] long* pbScale); - [id(0x0000007e), propput] - HRESULT NumBitmapCaches([in] long pnumBitmapCaches); - [id(0x0000007e), propget] - HRESULT NumBitmapCaches([out, retval] long* pnumBitmapCaches); - [id(0x0000007f), propput] - HRESULT CachePersistenceActive([in] long pcachePersistenceActive); - [id(0x0000007f), propget] - HRESULT CachePersistenceActive([out, retval] long* pcachePersistenceActive); - [id(0x0000008a), propput] - HRESULT PersistCacheDirectory([in] BSTR rhs); - [id(0x0000009c), propput] - HRESULT brushSupportLevel([in] long pbrushSupportLevel); - [id(0x0000009c), propget] - HRESULT brushSupportLevel([out, retval] long* pbrushSupportLevel); - [id(0x0000009d), propput] - HRESULT minInputSendInterval([in] long pminInputSendInterval); - [id(0x0000009d), propget] - HRESULT minInputSendInterval([out, retval] long* pminInputSendInterval); - [id(0x0000009e), propput] - HRESULT InputEventsAtOnce([in] long pinputEventsAtOnce); - [id(0x0000009e), propget] - HRESULT InputEventsAtOnce([out, retval] long* pinputEventsAtOnce); - [id(0x0000009f), propput] - HRESULT maxEventCount([in] long pmaxEventCount); - [id(0x0000009f), propget] - HRESULT maxEventCount([out, retval] long* pmaxEventCount); - [id(0x000000a0), propput] - HRESULT keepAliveInterval([in] long pkeepAliveInterval); - [id(0x000000a0), propget] - HRESULT keepAliveInterval([out, retval] long* pkeepAliveInterval); - [id(0x000000a3), propput] - HRESULT shutdownTimeout([in] long pshutdownTimeout); - [id(0x000000a3), propget] - HRESULT shutdownTimeout([out, retval] long* pshutdownTimeout); - [id(0x000000a4), propput] - HRESULT overallConnectionTimeout([in] long poverallConnectionTimeout); - [id(0x000000a4), propget] - HRESULT overallConnectionTimeout([out, retval] long* poverallConnectionTimeout); - [id(0x000000a5), propput] - HRESULT singleConnectionTimeout([in] long psingleConnectionTimeout); - [id(0x000000a5), propget] - HRESULT singleConnectionTimeout([out, retval] long* psingleConnectionTimeout); - [id(0x000000a6), propput] - HRESULT KeyboardType([in] long pkeyboardType); - [id(0x000000a6), propget] - HRESULT KeyboardType([out, retval] long* pkeyboardType); - [id(0x000000a7), propput] - HRESULT KeyboardSubType([in] long pkeyboardSubType); - [id(0x000000a7), propget] - HRESULT KeyboardSubType([out, retval] long* pkeyboardSubType); - [id(0x000000a8), propput] - HRESULT KeyboardFunctionKey([in] long pkeyboardFunctionKey); - [id(0x000000a8), propget] - HRESULT KeyboardFunctionKey([out, retval] long* pkeyboardFunctionKey); - [id(0x000000a9), propput] - HRESULT WinceFixedPalette([in] long pwinceFixedPalette); - [id(0x000000a9), propget] - HRESULT WinceFixedPalette([out, retval] long* pwinceFixedPalette); - [id(0x000000b2), propput] - HRESULT ConnectToServerConsole([in] VARIANT_BOOL pConnectToConsole); - [id(0x000000b2), propget] - HRESULT ConnectToServerConsole([out, retval] VARIANT_BOOL* pConnectToConsole); - [id(0x000000b6), propput] - HRESULT BitmapPersistence([in] long pbitmapPersistence); - [id(0x000000b6), propget] - HRESULT BitmapPersistence([out, retval] long* pbitmapPersistence); - [id(0x000000b7), propput] - HRESULT MinutesToIdleTimeout([in] long pminutesToIdleTimeout); - [id(0x000000b7), propget] - HRESULT MinutesToIdleTimeout([out, retval] long* pminutesToIdleTimeout); - [id(0x000000b8), propput] - HRESULT SmartSizing([in] VARIANT_BOOL pfSmartSizing); - [id(0x000000b8), propget] - HRESULT SmartSizing([out, retval] VARIANT_BOOL* pfSmartSizing); - [id(0x000000b9), propput] - HRESULT RdpdrLocalPrintingDocName([in] BSTR pLocalPrintingDocName); - [id(0x000000b9), propget] - HRESULT RdpdrLocalPrintingDocName([out, retval] BSTR* pLocalPrintingDocName); - [id(0x000000c9), propput] - HRESULT RdpdrClipCleanTempDirString([in] BSTR clipCleanTempDirString); - [id(0x000000c9), propget] - HRESULT RdpdrClipCleanTempDirString([out, retval] BSTR* clipCleanTempDirString); - [id(0x000000ca), propput] - HRESULT RdpdrClipPasteInfoString([in] BSTR clipPasteInfoString); - [id(0x000000ca), propget] - HRESULT RdpdrClipPasteInfoString([out, retval] BSTR* clipPasteInfoString); - [id(0x000000ba), propput] - HRESULT ClearTextPassword([in] BSTR rhs); - [id(0x000000bb), propput] - HRESULT DisplayConnectionBar([in] VARIANT_BOOL pDisplayConnectionBar); - [id(0x000000bb), propget] - HRESULT DisplayConnectionBar([out, retval] VARIANT_BOOL* pDisplayConnectionBar); - [id(0x000000bc), propput] - HRESULT PinConnectionBar([in] VARIANT_BOOL pPinConnectionBar); - [id(0x000000bc), propget] - HRESULT PinConnectionBar([out, retval] VARIANT_BOOL* pPinConnectionBar); - [id(0x000000bd), propput] - HRESULT GrabFocusOnConnect([in] VARIANT_BOOL pfGrabFocusOnConnect); - [id(0x000000bd), propget] - HRESULT GrabFocusOnConnect([out, retval] VARIANT_BOOL* pfGrabFocusOnConnect); - [id(0x000000be), propput] - HRESULT LoadBalanceInfo([in] BSTR pLBInfo); - [id(0x000000be), propget] - HRESULT LoadBalanceInfo([out, retval] BSTR* pLBInfo); - [id(0x000000bf), propput] - HRESULT RedirectDrives([in] VARIANT_BOOL pRedirectDrives); - [id(0x000000bf), propget] - HRESULT RedirectDrives([out, retval] VARIANT_BOOL* pRedirectDrives); - [id(0x000000c0), propput] - HRESULT RedirectPrinters([in] VARIANT_BOOL pRedirectPrinters); - [id(0x000000c0), propget] - HRESULT RedirectPrinters([out, retval] VARIANT_BOOL* pRedirectPrinters); - [id(0x000000c1), propput] - HRESULT RedirectPorts([in] VARIANT_BOOL pRedirectPorts); - [id(0x000000c1), propget] - HRESULT RedirectPorts([out, retval] VARIANT_BOOL* pRedirectPorts); - [id(0x000000c2), propput] - HRESULT RedirectSmartCards([in] VARIANT_BOOL pRedirectSmartCards); - [id(0x000000c2), propget] - HRESULT RedirectSmartCards([out, retval] VARIANT_BOOL* pRedirectSmartCards); - [id(0x000000c3), propput] - HRESULT BitmapVirtualCache16BppSize([in] long pBitmapVirtualCache16BppSize); - [id(0x000000c3), propget] - HRESULT BitmapVirtualCache16BppSize([out, retval] long* pBitmapVirtualCache16BppSize); - [id(0x000000c4), propput] - HRESULT BitmapVirtualCache24BppSize([in] long pBitmapVirtualCache24BppSize); - [id(0x000000c4), propget] - HRESULT BitmapVirtualCache24BppSize([out, retval] long* pBitmapVirtualCache24BppSize); - [id(0x000000c8), propput] - HRESULT PerformanceFlags([in] long pDisableList); - [id(0x000000c8), propget] - HRESULT PerformanceFlags([out, retval] long* pDisableList); - [id(0x000000cb), propput] - HRESULT ConnectWithEndpoint([in] VARIANT* rhs); - [id(0x000000cc), propput] - HRESULT NotifyTSPublicKey([in] VARIANT_BOOL pfNotify); - [id(0x000000cc), propget] - HRESULT NotifyTSPublicKey([out, retval] VARIANT_BOOL* pfNotify); - }; + [ + uuid(809945CC-4B3B-4A92-A6B0-DBF9B5F2EF2D), + dual, + oleautomation + ] + interface IMsTscAdvancedSettings: IDispatch + { + [id(0x00000079), propput] HRESULT Compress([in] long pcompress); + [id(0x00000079), propget] HRESULT Compress([out, retval] long * pcompress); + [id(0x0000007a), propput] HRESULT BitmapPeristence([in] long pbitmapPeristence); + [id(0x0000007a), propget] HRESULT BitmapPeristence([out, retval] long * pbitmapPeristence); + [id(0x000000a1), propput] HRESULT allowBackgroundInput([in] long pallowBackgroundInput); + [id(0x000000a1), propget] HRESULT allowBackgroundInput([out, retval] long * pallowBackgroundInput); + [id(0x000000a2), propput] HRESULT KeyBoardLayoutStr([in] BSTR rhs); + [id(0x000000aa), propput] HRESULT PluginDlls([in] BSTR rhs); + [id(0x000000ab), propput] HRESULT IconFile([in] BSTR rhs); + [id(0x000000ac), propput] HRESULT IconIndex([in] long rhs); + [id(0x000000ad), propput] HRESULT ContainerHandledFullScreen([in] long pContainerHandledFullScreen); + [id(0x000000ad), propget] HRESULT ContainerHandledFullScreen([out, retval] long * pContainerHandledFullScreen); + [id(0x000000ae), propput] HRESULT DisableRdpdr([in] long pDisableRdpdr); + [id(0x000000ae), propget] HRESULT DisableRdpdr([out, retval] long * pDisableRdpdr); + }; - [ - uuid(9AC42117-2B76-4320-AA44-0E616AB8437B), - dual, - oleautomation - ] - interface IMsRdpClientAdvancedSettings2 : IMsRdpClientAdvancedSettings { - [id(0x000000cd), propget] - HRESULT CanAutoReconnect([out, retval] VARIANT_BOOL* pfCanAutoReconnect); - [id(0x000000ce), propput] - HRESULT EnableAutoReconnect([in] VARIANT_BOOL pfEnableAutoReconnect); - [id(0x000000ce), propget] - HRESULT EnableAutoReconnect([out, retval] VARIANT_BOOL* pfEnableAutoReconnect); - [id(0x000000cf), propput] - HRESULT MaxReconnectAttempts([in] long pMaxReconnectAttempts); - [id(0x000000cf), propget] - HRESULT MaxReconnectAttempts([out, retval] long* pMaxReconnectAttempts); - }; + [ + uuid(3C65B4AB-12B3-465B-ACD4-B8DAD3BFF9E2), + dual, + oleautomation + ] + interface IMsRdpClientAdvancedSettings: IMsTscAdvancedSettings + { + [id(0x00000065), propput] HRESULT SmoothScroll([in] long psmoothScroll); + [id(0x00000065), propget] HRESULT SmoothScroll([out, retval] long * psmoothScroll); + [id(0x00000066), propput] HRESULT AcceleratorPassthrough([in] long pacceleratorPassthrough); + [id(0x00000066), propget] HRESULT AcceleratorPassthrough([out, retval] long * pacceleratorPassthrough); + [id(0x00000067), propput] HRESULT ShadowBitmap([in] long pshadowBitmap); + [id(0x00000067), propget] HRESULT ShadowBitmap([out, retval] long * pshadowBitmap); + [id(0x00000068), propput] HRESULT TransportType([in] long ptransportType); + [id(0x00000068), propget] HRESULT TransportType([out, retval] long * ptransportType); + [id(0x00000069), propput] HRESULT SasSequence([in] long psasSequence); + [id(0x00000069), propget] HRESULT SasSequence([out, retval] long * psasSequence); + [id(0x0000006a), propput] HRESULT EncryptionEnabled([in] long pencryptionEnabled); + [id(0x0000006a), propget] HRESULT EncryptionEnabled([out, retval] long * pencryptionEnabled); + [id(0x0000006b), propput] HRESULT DedicatedTerminal([in] long pdedicatedTerminal); + [id(0x0000006b), propget] HRESULT DedicatedTerminal([out, retval] long * pdedicatedTerminal); + [id(0x0000006c), propput] HRESULT RDPPort([in] long prdpPort); + [id(0x0000006c), propget] HRESULT RDPPort([out, retval] long * prdpPort); + [id(0x0000006d), propput] HRESULT EnableMouse([in] long penableMouse); + [id(0x0000006d), propget] HRESULT EnableMouse([out, retval] long * penableMouse); + [id(0x0000006e), propput] HRESULT DisableCtrlAltDel([in] long pdisableCtrlAltDel); + [id(0x0000006e), propget] HRESULT DisableCtrlAltDel([out, retval] long * pdisableCtrlAltDel); + [id(0x0000006f), propput] HRESULT EnableWindowsKey([in] long penableWindowsKey); + [id(0x0000006f), propget] HRESULT EnableWindowsKey([out, retval] long * penableWindowsKey); + [id(0x00000070), propput] HRESULT DoubleClickDetect([in] long pdoubleClickDetect); + [id(0x00000070), propget] HRESULT DoubleClickDetect([out, retval] long * pdoubleClickDetect); + [id(0x00000071), propput] HRESULT MaximizeShell([in] long pmaximizeShell); + [id(0x00000071), propget] HRESULT MaximizeShell([out, retval] long * pmaximizeShell); + [id(0x00000072), propput] HRESULT HotKeyFullScreen([in] long photKeyFullScreen); + [id(0x00000072), propget] HRESULT HotKeyFullScreen([out, retval] long * photKeyFullScreen); + [id(0x00000073), propput] HRESULT HotKeyCtrlEsc([in] long photKeyCtrlEsc); + [id(0x00000073), propget] HRESULT HotKeyCtrlEsc([out, retval] long * photKeyCtrlEsc); + [id(0x00000074), propput] HRESULT HotKeyAltEsc([in] long photKeyAltEsc); + [id(0x00000074), propget] HRESULT HotKeyAltEsc([out, retval] long * photKeyAltEsc); + [id(0x00000075), propput] HRESULT HotKeyAltTab([in] long photKeyAltTab); + [id(0x00000075), propget] HRESULT HotKeyAltTab([out, retval] long * photKeyAltTab); + [id(0x00000076), propput] HRESULT HotKeyAltShiftTab([in] long photKeyAltShiftTab); + [id(0x00000076), propget] HRESULT HotKeyAltShiftTab([out, retval] long * photKeyAltShiftTab); + [id(0x00000077), propput] HRESULT HotKeyAltSpace([in] long photKeyAltSpace); + [id(0x00000077), propget] HRESULT HotKeyAltSpace([out, retval] long * photKeyAltSpace); + [id(0x00000078), propput] HRESULT HotKeyCtrlAltDel([in] long photKeyCtrlAltDel); + [id(0x00000078), propget] HRESULT HotKeyCtrlAltDel([out, retval] long * photKeyCtrlAltDel); + [id(0x0000007b), propput] HRESULT orderDrawThreshold([in] long porderDrawThreshold); + [id(0x0000007b), propget] HRESULT orderDrawThreshold([out, retval] long * porderDrawThreshold); + [id(0x0000007c), propput] HRESULT BitmapCacheSize([in] long pbitmapCacheSize); + [id(0x0000007c), propget] HRESULT BitmapCacheSize([out, retval] long * pbitmapCacheSize); + [id(0x0000007d), propput] HRESULT BitmapVirtualCacheSize([in] long pbitmapVirtualCacheSize); + [id(0x0000007d), propget] HRESULT BitmapVirtualCacheSize([out, retval] long * pbitmapVirtualCacheSize); + [id(0x000000af), propput] HRESULT ScaleBitmapCachesByBPP([in] long pbScale); + [id(0x000000af), propget] HRESULT ScaleBitmapCachesByBPP([out, retval] long * pbScale); + [id(0x0000007e), propput] HRESULT NumBitmapCaches([in] long pnumBitmapCaches); + [id(0x0000007e), propget] HRESULT NumBitmapCaches([out, retval] long * pnumBitmapCaches); + [id(0x0000007f), propput] HRESULT CachePersistenceActive([in] long pcachePersistenceActive); + [id(0x0000007f), propget] HRESULT CachePersistenceActive([out, retval] long * pcachePersistenceActive); + [id(0x0000008a), propput] HRESULT PersistCacheDirectory([in] BSTR rhs); + [id(0x0000009c), propput] HRESULT brushSupportLevel([in] long pbrushSupportLevel); + [id(0x0000009c), propget] HRESULT brushSupportLevel([out, retval] long * pbrushSupportLevel); + [id(0x0000009d), propput] HRESULT minInputSendInterval([in] long pminInputSendInterval); + [id(0x0000009d), propget] HRESULT minInputSendInterval([out, retval] long * pminInputSendInterval); + [id(0x0000009e), propput] HRESULT InputEventsAtOnce([in] long pinputEventsAtOnce); + [id(0x0000009e), propget] HRESULT InputEventsAtOnce([out, retval] long * pinputEventsAtOnce); + [id(0x0000009f), propput] HRESULT maxEventCount([in] long pmaxEventCount); + [id(0x0000009f), propget] HRESULT maxEventCount([out, retval] long * pmaxEventCount); + [id(0x000000a0), propput] HRESULT keepAliveInterval([in] long pkeepAliveInterval); + [id(0x000000a0), propget] HRESULT keepAliveInterval([out, retval] long * pkeepAliveInterval); + [id(0x000000a3), propput] HRESULT shutdownTimeout([in] long pshutdownTimeout); + [id(0x000000a3), propget] HRESULT shutdownTimeout([out, retval] long * pshutdownTimeout); + [id(0x000000a4), propput] HRESULT overallConnectionTimeout([in] long poverallConnectionTimeout); + [id(0x000000a4), propget] HRESULT overallConnectionTimeout([out, retval] long * poverallConnectionTimeout); + [id(0x000000a5), propput] HRESULT singleConnectionTimeout([in] long psingleConnectionTimeout); + [id(0x000000a5), propget] HRESULT singleConnectionTimeout([out, retval] long * psingleConnectionTimeout); + [id(0x000000a6), propput] HRESULT KeyboardType([in] long pkeyboardType); + [id(0x000000a6), propget] HRESULT KeyboardType([out, retval] long * pkeyboardType); + [id(0x000000a7), propput] HRESULT KeyboardSubType([in] long pkeyboardSubType); + [id(0x000000a7), propget] HRESULT KeyboardSubType([out, retval] long * pkeyboardSubType); + [id(0x000000a8), propput] HRESULT KeyboardFunctionKey([in] long pkeyboardFunctionKey); + [id(0x000000a8), propget] HRESULT KeyboardFunctionKey([out, retval] long * pkeyboardFunctionKey); + [id(0x000000a9), propput] HRESULT WinceFixedPalette([in] long pwinceFixedPalette); + [id(0x000000a9), propget] HRESULT WinceFixedPalette([out, retval] long * pwinceFixedPalette); + [id(0x000000b2), propput] HRESULT ConnectToServerConsole([in] VARIANT_BOOL pConnectToConsole); + [id(0x000000b2), propget] HRESULT ConnectToServerConsole([out, retval] VARIANT_BOOL * pConnectToConsole); + [id(0x000000b6), propput] HRESULT BitmapPersistence([in] long pbitmapPersistence); + [id(0x000000b6), propget] HRESULT BitmapPersistence([out, retval] long * pbitmapPersistence); + [id(0x000000b7), propput] HRESULT MinutesToIdleTimeout([in] long pminutesToIdleTimeout); + [id(0x000000b7), propget] HRESULT MinutesToIdleTimeout([out, retval] long * pminutesToIdleTimeout); + [id(0x000000b8), propput] HRESULT SmartSizing([in] VARIANT_BOOL pfSmartSizing); + [id(0x000000b8), propget] HRESULT SmartSizing([out, retval] VARIANT_BOOL * pfSmartSizing); + [id(0x000000b9), propput] HRESULT RdpdrLocalPrintingDocName([in] BSTR pLocalPrintingDocName); + [id(0x000000b9), propget] HRESULT RdpdrLocalPrintingDocName([out, retval] BSTR * pLocalPrintingDocName); + [id(0x000000c9), propput] HRESULT RdpdrClipCleanTempDirString([in] BSTR clipCleanTempDirString); + [id(0x000000c9), propget] HRESULT RdpdrClipCleanTempDirString([out, retval] BSTR * clipCleanTempDirString); + [id(0x000000ca), propput] HRESULT RdpdrClipPasteInfoString([in] BSTR clipPasteInfoString); + [id(0x000000ca), propget] HRESULT RdpdrClipPasteInfoString([out, retval] BSTR * clipPasteInfoString); + [id(0x000000ba), propput] HRESULT ClearTextPassword([in] BSTR rhs); + [id(0x000000bb), propput] HRESULT DisplayConnectionBar([in] VARIANT_BOOL pDisplayConnectionBar); + [id(0x000000bb), propget] HRESULT DisplayConnectionBar([out, retval] VARIANT_BOOL * pDisplayConnectionBar); + [id(0x000000bc), propput] HRESULT PinConnectionBar([in] VARIANT_BOOL pPinConnectionBar); + [id(0x000000bc), propget] HRESULT PinConnectionBar([out, retval] VARIANT_BOOL * pPinConnectionBar); + [id(0x000000bd), propput] HRESULT GrabFocusOnConnect([in] VARIANT_BOOL pfGrabFocusOnConnect); + [id(0x000000bd), propget] HRESULT GrabFocusOnConnect([out, retval] VARIANT_BOOL * pfGrabFocusOnConnect); + [id(0x000000be), propput] HRESULT LoadBalanceInfo([in] BSTR pLBInfo); + [id(0x000000be), propget] HRESULT LoadBalanceInfo([out, retval] BSTR * pLBInfo); + [id(0x000000bf), propput] HRESULT RedirectDrives([in] VARIANT_BOOL pRedirectDrives); + [id(0x000000bf), propget] HRESULT RedirectDrives([out, retval] VARIANT_BOOL * pRedirectDrives); + [id(0x000000c0), propput] HRESULT RedirectPrinters([in] VARIANT_BOOL pRedirectPrinters); + [id(0x000000c0), propget] HRESULT RedirectPrinters([out, retval] VARIANT_BOOL * pRedirectPrinters); + [id(0x000000c1), propput] HRESULT RedirectPorts([in] VARIANT_BOOL pRedirectPorts); + [id(0x000000c1), propget] HRESULT RedirectPorts([out, retval] VARIANT_BOOL * pRedirectPorts); + [id(0x000000c2), propput] HRESULT RedirectSmartCards([in] VARIANT_BOOL pRedirectSmartCards); + [id(0x000000c2), propget] HRESULT RedirectSmartCards([out, retval] VARIANT_BOOL * pRedirectSmartCards); + [id(0x000000c3), propput] HRESULT BitmapVirtualCache16BppSize([in] long pBitmapVirtualCache16BppSize); + [id(0x000000c3), propget] HRESULT BitmapVirtualCache16BppSize([out, retval] long * pBitmapVirtualCache16BppSize); + [id(0x000000c4), propput] HRESULT BitmapVirtualCache24BppSize([in] long pBitmapVirtualCache24BppSize); + [id(0x000000c4), propget] HRESULT BitmapVirtualCache24BppSize([out, retval] long * pBitmapVirtualCache24BppSize); + [id(0x000000c8), propput] HRESULT PerformanceFlags([in] long pDisableList); + [id(0x000000c8), propget] HRESULT PerformanceFlags([out, retval] long * pDisableList); + [id(0x000000cb), propput] HRESULT ConnectWithEndpoint([in] VARIANT * rhs); + [id(0x000000cc), propput] HRESULT NotifyTSPublicKey([in] VARIANT_BOOL pfNotify); + [id(0x000000cc), propget] HRESULT NotifyTSPublicKey([out, retval] VARIANT_BOOL * pfNotify); + }; - [ - uuid(19CD856B-C542-4C53-ACEE-F127E3BE1A59), - dual, - oleautomation - ] - interface IMsRdpClientAdvancedSettings3 : IMsRdpClientAdvancedSettings2 { - [id(0x000000d2), propput] - HRESULT ConnectionBarShowMinimizeButton([in] VARIANT_BOOL pfShowMinimize); - [id(0x000000d2), propget] - HRESULT ConnectionBarShowMinimizeButton([out, retval] VARIANT_BOOL* pfShowMinimize); - [id(0x000000d3), propput] - HRESULT ConnectionBarShowRestoreButton([in] VARIANT_BOOL pfShowRestore); - [id(0x000000d3), propget] - HRESULT ConnectionBarShowRestoreButton([out, retval] VARIANT_BOOL* pfShowRestore); - }; + [ + uuid(9AC42117-2B76-4320-AA44-0E616AB8437B), + dual, + oleautomation + ] + interface IMsRdpClientAdvancedSettings2: IMsRdpClientAdvancedSettings + { + [id(0x000000cd), propget] HRESULT CanAutoReconnect([out, retval] VARIANT_BOOL * pfCanAutoReconnect); + [id(0x000000ce), propput] HRESULT EnableAutoReconnect([in] VARIANT_BOOL pfEnableAutoReconnect); + [id(0x000000ce), propget] HRESULT EnableAutoReconnect([out, retval] VARIANT_BOOL * pfEnableAutoReconnect); + [id(0x000000cf), propput] HRESULT MaxReconnectAttempts([in] long pMaxReconnectAttempts); + [id(0x000000cf), propget] HRESULT MaxReconnectAttempts([out, retval] long * pMaxReconnectAttempts); + }; - [ - uuid(FBA7F64E-7345-4405-AE50-FA4A763DC0DE), - dual, - oleautomation - ] - interface IMsRdpClientAdvancedSettings4 : IMsRdpClientAdvancedSettings3 { - [id(0x000000d4), propput] - HRESULT AuthenticationLevel([in] unsigned int puiAuthLevel); - [id(0x000000d4), propget] - HRESULT AuthenticationLevel([out, retval] unsigned int* puiAuthLevel); - }; + [ + uuid(19CD856B-C542-4C53-ACEE-F127E3BE1A59), + dual, + oleautomation + ] + interface IMsRdpClientAdvancedSettings3: IMsRdpClientAdvancedSettings2 + { + [id(0x000000d2), propput] HRESULT ConnectionBarShowMinimizeButton([in] VARIANT_BOOL pfShowMinimize); + [id(0x000000d2), propget] HRESULT ConnectionBarShowMinimizeButton([out, retval] VARIANT_BOOL * pfShowMinimize); + [id(0x000000d3), propput] HRESULT ConnectionBarShowRestoreButton([in] VARIANT_BOOL pfShowRestore); + [id(0x000000d3), propget] HRESULT ConnectionBarShowRestoreButton([out, retval] VARIANT_BOOL * pfShowRestore); + }; - [ - uuid(C9D65442-A0F9-45B2-8F73-D61D2DB8CBB6), - dual, - oleautomation - ] - interface IMsTscSecuredSettings : IDispatch { - [id(0x00000001), propput] - HRESULT StartProgram([in] BSTR pStartProgram); - [id(0x00000001), propget] - HRESULT StartProgram([out, retval] BSTR* pStartProgram); - [id(0x00000002), propput] - HRESULT WorkDir([in] BSTR pWorkDir); - [id(0x00000002), propget] - HRESULT WorkDir([out, retval] BSTR* pWorkDir); - [id(0x00000003), propput] - HRESULT FullScreen([in] long pfFullScreen); - [id(0x00000003), propget] - HRESULT FullScreen([out, retval] long* pfFullScreen); - }; + [ + uuid(FBA7F64E-7345-4405-AE50-FA4A763DC0DE), + dual, + oleautomation + ] + interface IMsRdpClientAdvancedSettings4: IMsRdpClientAdvancedSettings3 + { + [id(0x000000d4), propput] HRESULT AuthenticationLevel([in] unsigned int puiAuthLevel); + [id(0x000000d4), propget] HRESULT AuthenticationLevel([out, retval] unsigned int * puiAuthLevel); + }; - [ - uuid(605BEFCF-39C1-45CC-A811-068FB7BE346D), - dual, - oleautomation - ] - interface IMsRdpClientSecuredSettings : IMsTscSecuredSettings { - [id(0x00000004), propput] - HRESULT KeyboardHookMode([in] long pkeyboardHookMode); - [id(0x00000004), propget] - HRESULT KeyboardHookMode([out, retval] long* pkeyboardHookMode); - [id(0x00000005), propput] - HRESULT AudioRedirectionMode([in] long pAudioRedirectionMode); - [id(0x00000005), propget] - HRESULT AudioRedirectionMode([out, retval] long* pAudioRedirectionMode); - }; + [ + uuid(C9D65442-A0F9-45B2-8F73-D61D2DB8CBB6), + dual, + oleautomation + ] + interface IMsTscSecuredSettings: IDispatch + { + [id(0x00000001), propput] HRESULT StartProgram([in] BSTR pStartProgram); + [id(0x00000001), propget] HRESULT StartProgram([out, retval] BSTR * pStartProgram); + [id(0x00000002), propput] HRESULT WorkDir([in] BSTR pWorkDir); + [id(0x00000002), propget] HRESULT WorkDir([out, retval] BSTR * pWorkDir); + [id(0x00000003), propput] HRESULT FullScreen([in] long pfFullScreen); + [id(0x00000003), propget] HRESULT FullScreen([out, retval] long * pfFullScreen); + }; - [ - uuid(209D0EB9-6254-47B1-9033-A98DAE55BB27), - hidden, - dual, - oleautomation - ] - interface IMsTscDebug : IDispatch { - [id(0x000000c8), propput] - HRESULT HatchBitmapPDU([in] long phatchBitmapPDU); - [id(0x000000c8), propget] - HRESULT HatchBitmapPDU([out, retval] long* phatchBitmapPDU); - [id(0x000000c9), propput] - HRESULT HatchSSBOrder([in] long phatchSSBOrder); - [id(0x000000c9), propget] - HRESULT HatchSSBOrder([out, retval] long* phatchSSBOrder); - [id(0x000000ca), propput] - HRESULT HatchMembltOrder([in] long phatchMembltOrder); - [id(0x000000ca), propget] - HRESULT HatchMembltOrder([out, retval] long* phatchMembltOrder); - [id(0x000000cb), propput] - HRESULT HatchIndexPDU([in] long phatchIndexPDU); - [id(0x000000cb), propget] - HRESULT HatchIndexPDU([out, retval] long* phatchIndexPDU); - [id(0x000000cc), propput] - HRESULT LabelMemblt([in] long plabelMemblt); - [id(0x000000cc), propget] - HRESULT LabelMemblt([out, retval] long* plabelMemblt); - [id(0x000000cd), propput] - HRESULT BitmapCacheMonitor([in] long pbitmapCacheMonitor); - [id(0x000000cd), propget] - HRESULT BitmapCacheMonitor([out, retval] long* pbitmapCacheMonitor); - [id(0x000000ce), propput] - HRESULT MallocFailuresPercent([in] long pmallocFailuresPercent); - [id(0x000000ce), propget] - HRESULT MallocFailuresPercent([out, retval] long* pmallocFailuresPercent); - [id(0x000000cf), propput] - HRESULT MallocHugeFailuresPercent([in] long pmallocHugeFailuresPercent); - [id(0x000000cf), propget] - HRESULT MallocHugeFailuresPercent([out, retval] long* pmallocHugeFailuresPercent); - [id(0x000000d0), propput] - HRESULT NetThroughput([in] long NetThroughput); - [id(0x000000d0), propget] - HRESULT NetThroughput([out, retval] long* NetThroughput); - [id(0x000000d1), propput] - HRESULT CLXCmdLine([in] BSTR pCLXCmdLine); - [id(0x000000d1), propget] - HRESULT CLXCmdLine([out, retval] BSTR* pCLXCmdLine); - [id(0x000000d2), propput] - HRESULT CLXDll([in] BSTR pCLXDll); - [id(0x000000d2), propget] - HRESULT CLXDll([out, retval] BSTR* pCLXDll); - }; + [ + uuid(605BEFCF-39C1-45CC-A811-068FB7BE346D), + dual, + oleautomation + ] + interface IMsRdpClientSecuredSettings: IMsTscSecuredSettings + { + [id(0x00000004), propput] HRESULT KeyboardHookMode([in] long pkeyboardHookMode); + [id(0x00000004), propget] HRESULT KeyboardHookMode([out, retval] long * pkeyboardHookMode); + [id(0x00000005), propput] HRESULT AudioRedirectionMode([in] long pAudioRedirectionMode); + [id(0x00000005), propget] HRESULT AudioRedirectionMode([out, retval] long * pAudioRedirectionMode); + }; - [uuid(A41A4187-5A86-4E26-B40A-856F9035D9CB)] - coclass MsTscAx { - interface IMsRdpClient; - [default] interface IMsTscAx; - [default, source] dispinterface IMsTscAxEvents; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - }; + [ + uuid(209D0EB9-6254-47B1-9033-A98DAE55BB27), + hidden, + dual, + oleautomation + ] + interface IMsTscDebug: IDispatch + { + [id(0x000000c8), propput] HRESULT HatchBitmapPDU([in] long phatchBitmapPDU); + [id(0x000000c8), propget] HRESULT HatchBitmapPDU([out, retval] long * phatchBitmapPDU); + [id(0x000000c9), propput] HRESULT HatchSSBOrder([in] long phatchSSBOrder); + [id(0x000000c9), propget] HRESULT HatchSSBOrder([out, retval] long * phatchSSBOrder); + [id(0x000000ca), propput] HRESULT HatchMembltOrder([in] long phatchMembltOrder); + [id(0x000000ca), propget] HRESULT HatchMembltOrder([out, retval] long * phatchMembltOrder); + [id(0x000000cb), propput] HRESULT HatchIndexPDU([in] long phatchIndexPDU); + [id(0x000000cb), propget] HRESULT HatchIndexPDU([out, retval] long * phatchIndexPDU); + [id(0x000000cc), propput] HRESULT LabelMemblt([in] long plabelMemblt); + [id(0x000000cc), propget] HRESULT LabelMemblt([out, retval] long * plabelMemblt); + [id(0x000000cd), propput] HRESULT BitmapCacheMonitor([in] long pbitmapCacheMonitor); + [id(0x000000cd), propget] HRESULT BitmapCacheMonitor([out, retval] long * pbitmapCacheMonitor); + [id(0x000000ce), propput] HRESULT MallocFailuresPercent([in] long pmallocFailuresPercent); + [id(0x000000ce), propget] HRESULT MallocFailuresPercent([out, retval] long * pmallocFailuresPercent); + [id(0x000000cf), propput] HRESULT MallocHugeFailuresPercent([in] long pmallocHugeFailuresPercent); + [id(0x000000cf), propget] HRESULT MallocHugeFailuresPercent([out, retval] long * pmallocHugeFailuresPercent); + [id(0x000000d0), propput] HRESULT NetThroughput([in] long NetThroughput); + [id(0x000000d0), propget] HRESULT NetThroughput([out, retval] long * NetThroughput); + [id(0x000000d1), propput] HRESULT CLXCmdLine([in] BSTR pCLXCmdLine); + [id(0x000000d1), propget] HRESULT CLXCmdLine([out, retval] BSTR * pCLXCmdLine); + [id(0x000000d2), propput] HRESULT CLXDll([in] BSTR pCLXDll); + [id(0x000000d2), propget] HRESULT CLXDll([out, retval] BSTR * pCLXDll); + }; - [uuid(7CACBD7B-0D99-468F-AC33-22E495C0AFE5)] - coclass MsRdpClient { - [default] interface IMsRdpClient; - interface IMsTscAx; - [default, source] dispinterface IMsTscAxEvents; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - }; + [ +#ifdef MSTSCLIB_REDIST_ + uuid(1FB464C8-09BB-4017-A2F5-EB742F04392F) +#else + uuid(A41A4187-5A86-4E26-B40A-856F9035D9CB) +#endif + ] + coclass MsTscAx + { + interface IMsRdpClient; + [default] interface IMsTscAx; + [default, source] dispinterface IMsTscAxEvents; + interface IMsTscNonScriptable; + interface IMsRdpClientNonScriptable; + }; - [uuid(3523C2FB-4031-44E4-9A3B-F1E94986EE7F)] - coclass MsRdpClient2 { - [default] interface IMsRdpClient2; - interface IMsRdpClient; - interface IMsTscAx; - [default, source] dispinterface IMsTscAxEvents; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - }; + [ +#ifdef MSTSCLIB_REDIST_ + uuid(791FA017-2DE3-492E-ACC5-53C67A2B94D0) +#else + uuid(7CACBD7B-0D99-468F-AC33-22E495C0AFE5) +#endif + ] + coclass MsRdpClient + { + [default] interface IMsRdpClient; + interface IMsTscAx; + [default, source] dispinterface IMsTscAxEvents; + interface IMsTscNonScriptable; + interface IMsRdpClientNonScriptable; + }; - [uuid(ACE575FD-1FCF-4074-9401-EBAB990FA9DE)] - coclass MsRdpClient3 { - [default] interface IMsRdpClient3; - interface IMsRdpClient2; - interface IMsRdpClient; - interface IMsTscAx; - [default, source] dispinterface IMsTscAxEvents; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - }; + [ +#ifdef MSTSCLIB_REDIST_ + uuid(9059F30F-4EB1-4BD2-9FDC-36F43A218F4A) +#else + uuid(3523C2FB-4031-44E4-9A3B-F1E94986EE7F) +#endif + ] + coclass MsRdpClient2 + { + [default] interface IMsRdpClient2; + interface IMsRdpClient; + interface IMsTscAx; + [default, source] dispinterface IMsTscAxEvents; + interface IMsTscNonScriptable; + interface IMsRdpClientNonScriptable; + }; - [uuid(6AE29350-321B-42BE-BBE5-12FB5270C0DE)] - coclass MsRdpClient4 { - [default] interface IMsRdpClient4; - interface IMsRdpClient3; - interface IMsRdpClient2; - interface IMsRdpClient; - interface IMsTscAx; - [default, source] dispinterface IMsTscAxEvents; - interface IMsTscNonScriptable; - interface IMsRdpClientNonScriptable; - interface IMsRdpClientNonScriptable2; - }; + [ +#ifdef MSTSCLIB_REDIST_ + uuid(7584C670-2274-4EFB-B00B-D6AABA6D3850) +#else + uuid(ACE575FD-1FCF-4074-9401-EBAB990FA9DE) +#endif + ] + coclass MsRdpClient3 + { + [default] interface IMsRdpClient3; + interface IMsRdpClient2; + interface IMsRdpClient; + interface IMsTscAx; + [default, source] dispinterface IMsTscAxEvents; + interface IMsTscNonScriptable; + interface IMsRdpClientNonScriptable; + }; + + [uuid(6AE29350-321B-42BE-BBE5-12FB5270C0DE)] + coclass MsRdpClient4 + { + [default] interface IMsRdpClient4; + interface IMsRdpClient3; + interface IMsRdpClient2; + interface IMsRdpClient; + interface IMsTscAx; + [default, source] dispinterface IMsTscAxEvents; + interface IMsTscNonScriptable; + interface IMsRdpClientNonScriptable; + interface IMsRdpClientNonScriptable2; + }; }; + +// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.rc b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.rc index 7c05c2bc7f8..a187007a61b 100644 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.rc +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib.rc @@ -1,9 +1,3 @@ -#define TOSTRING_(X) # X -#define TOSTRING(X) TOSTRING_(X) - -LANGUAGE 0, 0 - -// NOTE: TYPELIB_PATH__ is defined on the command line (-D TYPELIB_PATH__=) -1 TYPELIB TOSTRING(TYPELIB_PATH__) - +#define TYPELIB_RESOURCEID__ 1 +#include "./typelib.rh" // EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_h.h b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_h.h index e781a99573b..4e556bc2c79 100644 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_h.h +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_h.h @@ -4,10 +4,10 @@ /* File created by MIDL compiler version 7.00.0493 */ -/* at Mon Jul 31 17:27:49 2006 +/* at Sat Aug 12 22:21:54 2006 */ /* Compiler settings for .\mstsclib.idl: - Oicf, W1, Zp8, env=Win32 (32b run) + Oicf, W2, 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: @@ -2518,34 +2518,34 @@ EXTERN_C const IID IID_IMsTscNonScriptable; IMsTscNonScriptable : public IUnknown { public: - virtual /* [propput] */ HRESULT __stdcall put_ClearTextPassword( + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ClearTextPassword( /* [in] */ BSTR rhs) = 0; - virtual /* [propput] */ HRESULT __stdcall put_PortablePassword( + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PortablePassword( /* [in] */ BSTR pPortablePass) = 0; - virtual /* [propget] */ HRESULT __stdcall get_PortablePassword( + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortablePassword( /* [retval][out] */ BSTR *pPortablePass) = 0; - virtual /* [propput] */ HRESULT __stdcall put_PortableSalt( + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PortableSalt( /* [in] */ BSTR pPortableSalt) = 0; - virtual /* [propget] */ HRESULT __stdcall get_PortableSalt( + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PortableSalt( /* [retval][out] */ BSTR *pPortableSalt) = 0; - virtual /* [propput] */ HRESULT __stdcall put_BinaryPassword( + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BinaryPassword( /* [in] */ BSTR pBinaryPassword) = 0; - virtual /* [propget] */ HRESULT __stdcall get_BinaryPassword( + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BinaryPassword( /* [retval][out] */ BSTR *pBinaryPassword) = 0; - virtual /* [propput] */ HRESULT __stdcall put_BinarySalt( + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BinarySalt( /* [in] */ BSTR pSalt) = 0; - virtual /* [propget] */ HRESULT __stdcall get_BinarySalt( + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BinarySalt( /* [retval][out] */ BSTR *pSalt) = 0; - virtual HRESULT __stdcall ResetPassword( void) = 0; + virtual HRESULT STDMETHODCALLTYPE ResetPassword( void) = 0; }; @@ -2567,43 +2567,43 @@ EXTERN_C const IID IID_IMsTscNonScriptable; ULONG ( STDMETHODCALLTYPE *Release )( IMsTscNonScriptable * This); - /* [propput] */ HRESULT ( __stdcall *put_ClearTextPassword )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( IMsTscNonScriptable * This, /* [in] */ BSTR rhs); - /* [propput] */ HRESULT ( __stdcall *put_PortablePassword )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( IMsTscNonScriptable * This, /* [in] */ BSTR pPortablePass); - /* [propget] */ HRESULT ( __stdcall *get_PortablePassword )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( IMsTscNonScriptable * This, /* [retval][out] */ BSTR *pPortablePass); - /* [propput] */ HRESULT ( __stdcall *put_PortableSalt )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( IMsTscNonScriptable * This, /* [in] */ BSTR pPortableSalt); - /* [propget] */ HRESULT ( __stdcall *get_PortableSalt )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( IMsTscNonScriptable * This, /* [retval][out] */ BSTR *pPortableSalt); - /* [propput] */ HRESULT ( __stdcall *put_BinaryPassword )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( IMsTscNonScriptable * This, /* [in] */ BSTR pBinaryPassword); - /* [propget] */ HRESULT ( __stdcall *get_BinaryPassword )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( IMsTscNonScriptable * This, /* [retval][out] */ BSTR *pBinaryPassword); - /* [propput] */ HRESULT ( __stdcall *put_BinarySalt )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( IMsTscNonScriptable * This, /* [in] */ BSTR pSalt); - /* [propget] */ HRESULT ( __stdcall *get_BinarySalt )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( IMsTscNonScriptable * This, /* [retval][out] */ BSTR *pSalt); - HRESULT ( __stdcall *ResetPassword )( + HRESULT ( STDMETHODCALLTYPE *ResetPassword )( IMsTscNonScriptable * This); END_INTERFACE @@ -2685,11 +2685,11 @@ EXTERN_C const IID IID_IMsRdpClientNonScriptable; IMsRdpClientNonScriptable : public IMsTscNonScriptable { public: - virtual HRESULT __stdcall NotifyRedirectDeviceChange( + virtual HRESULT STDMETHODCALLTYPE NotifyRedirectDeviceChange( /* [in] */ UINT_PTR wParam, /* [in] */ LONG_PTR lParam) = 0; - virtual HRESULT __stdcall SendKeys( + virtual HRESULT STDMETHODCALLTYPE SendKeys( /* [in] */ long numKeys, /* [in] */ VARIANT_BOOL *pbArrayKeyUp, /* [in] */ long *plKeyData) = 0; @@ -2714,51 +2714,51 @@ EXTERN_C const IID IID_IMsRdpClientNonScriptable; ULONG ( STDMETHODCALLTYPE *Release )( IMsRdpClientNonScriptable * This); - /* [propput] */ HRESULT ( __stdcall *put_ClearTextPassword )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( IMsRdpClientNonScriptable * This, /* [in] */ BSTR rhs); - /* [propput] */ HRESULT ( __stdcall *put_PortablePassword )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( IMsRdpClientNonScriptable * This, /* [in] */ BSTR pPortablePass); - /* [propget] */ HRESULT ( __stdcall *get_PortablePassword )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( IMsRdpClientNonScriptable * This, /* [retval][out] */ BSTR *pPortablePass); - /* [propput] */ HRESULT ( __stdcall *put_PortableSalt )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( IMsRdpClientNonScriptable * This, /* [in] */ BSTR pPortableSalt); - /* [propget] */ HRESULT ( __stdcall *get_PortableSalt )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( IMsRdpClientNonScriptable * This, /* [retval][out] */ BSTR *pPortableSalt); - /* [propput] */ HRESULT ( __stdcall *put_BinaryPassword )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( IMsRdpClientNonScriptable * This, /* [in] */ BSTR pBinaryPassword); - /* [propget] */ HRESULT ( __stdcall *get_BinaryPassword )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( IMsRdpClientNonScriptable * This, /* [retval][out] */ BSTR *pBinaryPassword); - /* [propput] */ HRESULT ( __stdcall *put_BinarySalt )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( IMsRdpClientNonScriptable * This, /* [in] */ BSTR pSalt); - /* [propget] */ HRESULT ( __stdcall *get_BinarySalt )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( IMsRdpClientNonScriptable * This, /* [retval][out] */ BSTR *pSalt); - HRESULT ( __stdcall *ResetPassword )( + HRESULT ( STDMETHODCALLTYPE *ResetPassword )( IMsRdpClientNonScriptable * This); - HRESULT ( __stdcall *NotifyRedirectDeviceChange )( + HRESULT ( STDMETHODCALLTYPE *NotifyRedirectDeviceChange )( IMsRdpClientNonScriptable * This, /* [in] */ UINT_PTR wParam, /* [in] */ LONG_PTR lParam); - HRESULT ( __stdcall *SendKeys )( + HRESULT ( STDMETHODCALLTYPE *SendKeys )( IMsRdpClientNonScriptable * This, /* [in] */ long numKeys, /* [in] */ VARIANT_BOOL *pbArrayKeyUp, @@ -2850,10 +2850,10 @@ EXTERN_C const IID IID_IMsRdpClientNonScriptable2; IMsRdpClientNonScriptable2 : public IMsRdpClientNonScriptable { public: - virtual /* [propput] */ HRESULT __stdcall put_UIParentWindowHandle( + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UIParentWindowHandle( /* [in] */ HWND phwndUIParentWindowHandle) = 0; - virtual /* [propget] */ HRESULT __stdcall get_UIParentWindowHandle( + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UIParentWindowHandle( /* [retval][out] */ HWND *phwndUIParentWindowHandle) = 0; }; @@ -2876,61 +2876,61 @@ EXTERN_C const IID IID_IMsRdpClientNonScriptable2; ULONG ( STDMETHODCALLTYPE *Release )( IMsRdpClientNonScriptable2 * This); - /* [propput] */ HRESULT ( __stdcall *put_ClearTextPassword )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClearTextPassword )( IMsRdpClientNonScriptable2 * This, /* [in] */ BSTR rhs); - /* [propput] */ HRESULT ( __stdcall *put_PortablePassword )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortablePassword )( IMsRdpClientNonScriptable2 * This, /* [in] */ BSTR pPortablePass); - /* [propget] */ HRESULT ( __stdcall *get_PortablePassword )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortablePassword )( IMsRdpClientNonScriptable2 * This, /* [retval][out] */ BSTR *pPortablePass); - /* [propput] */ HRESULT ( __stdcall *put_PortableSalt )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PortableSalt )( IMsRdpClientNonScriptable2 * This, /* [in] */ BSTR pPortableSalt); - /* [propget] */ HRESULT ( __stdcall *get_PortableSalt )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PortableSalt )( IMsRdpClientNonScriptable2 * This, /* [retval][out] */ BSTR *pPortableSalt); - /* [propput] */ HRESULT ( __stdcall *put_BinaryPassword )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinaryPassword )( IMsRdpClientNonScriptable2 * This, /* [in] */ BSTR pBinaryPassword); - /* [propget] */ HRESULT ( __stdcall *get_BinaryPassword )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinaryPassword )( IMsRdpClientNonScriptable2 * This, /* [retval][out] */ BSTR *pBinaryPassword); - /* [propput] */ HRESULT ( __stdcall *put_BinarySalt )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BinarySalt )( IMsRdpClientNonScriptable2 * This, /* [in] */ BSTR pSalt); - /* [propget] */ HRESULT ( __stdcall *get_BinarySalt )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BinarySalt )( IMsRdpClientNonScriptable2 * This, /* [retval][out] */ BSTR *pSalt); - HRESULT ( __stdcall *ResetPassword )( + HRESULT ( STDMETHODCALLTYPE *ResetPassword )( IMsRdpClientNonScriptable2 * This); - HRESULT ( __stdcall *NotifyRedirectDeviceChange )( + HRESULT ( STDMETHODCALLTYPE *NotifyRedirectDeviceChange )( IMsRdpClientNonScriptable2 * This, /* [in] */ UINT_PTR wParam, /* [in] */ LONG_PTR lParam); - HRESULT ( __stdcall *SendKeys )( + HRESULT ( STDMETHODCALLTYPE *SendKeys )( IMsRdpClientNonScriptable2 * This, /* [in] */ long numKeys, /* [in] */ VARIANT_BOOL *pbArrayKeyUp, /* [in] */ long *plKeyData); - /* [propput] */ HRESULT ( __stdcall *put_UIParentWindowHandle )( + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIParentWindowHandle )( IMsRdpClientNonScriptable2 * This, /* [in] */ HWND phwndUIParentWindowHandle); - /* [propget] */ HRESULT ( __stdcall *get_UIParentWindowHandle )( + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIParentWindowHandle )( IMsRdpClientNonScriptable2 * This, /* [retval][out] */ HWND *phwndUIParentWindowHandle); diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_i.c b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_i.c index 4d25399f08c..e71e6ab224c 100644 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_i.c +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_i.c @@ -6,10 +6,10 @@ /* File created by MIDL compiler version 7.00.0493 */ -/* at Mon Jul 31 17:27:49 2006 +/* at Sat Aug 12 22:21:54 2006 */ /* Compiler settings for .\mstsclib.idl: - Oicf, W1, Zp8, env=Win32 (32b run) + Oicf, W2, 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: diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.idl b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.idl new file mode 100644 index 00000000000..30348675903 --- /dev/null +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.idl @@ -0,0 +1,3 @@ +#define MSTSCLIB_REDIST_ +#include "./mstsclib.idl" +// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.rc b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.rc new file mode 100644 index 00000000000..3da452459e9 --- /dev/null +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist.rc @@ -0,0 +1,3 @@ +#define TYPELIB_RESOURCEID__ 2 +#include "./typelib.rh" +// EOF diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_h.h b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_h.h new file mode 100644 index 00000000000..b16c0344785 --- /dev/null +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_h.h @@ -0,0 +1,8946 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 7.00.0493 */ +/* at Sat Aug 12 22:21:53 2006 + */ +/* Compiler settings for .\mstsclib_redist.idl: + Oicf, W2, 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 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 +#endif // __RPCNDR_H_VERSION__ + + +#ifndef __mstsclib_redist_h_h__ +#define __mstsclib_redist_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("327BB5CD-834E-4400-AEF2-B30E15E5D682") + 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("1FB464C8-09BB-4017-A2F5-EB742F04392F") +MsTscAx; +#endif + +EXTERN_C const CLSID CLSID_MsRdpClient; + +#ifdef __cplusplus + +class DECLSPEC_UUID("791FA017-2DE3-492E-ACC5-53C67A2B94D0") +MsRdpClient; +#endif + +EXTERN_C const CLSID CLSID_MsRdpClient2; + +#ifdef __cplusplus + +class DECLSPEC_UUID("9059F30F-4EB1-4BD2-9FDC-36F43A218F4A") +MsRdpClient2; +#endif + +EXTERN_C const CLSID CLSID_MsRdpClient3; + +#ifdef __cplusplus + +class DECLSPEC_UUID("7584C670-2274-4EFB-B00B-D6AABA6D3850") +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 + + diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_i.c b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_i.c new file mode 100644 index 00000000000..dfeb95f53e0 --- /dev/null +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/mstsclib_redist_i.c @@ -0,0 +1,145 @@ + + +/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ + +/* link this file in with the server and any clients */ + + + /* File created by MIDL compiler version 7.00.0493 */ +/* at Sat Aug 12 22:21:53 2006 + */ +/* Compiler settings for .\mstsclib_redist.idl: + Oicf, W2, 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 */ + + +#ifdef __cplusplus +extern "C"{ +#endif + + +#include +#include + +#ifdef _MIDL_USE_GUIDDEF_ + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#endif + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) + +#else // !_MIDL_USE_GUIDDEF_ + +#ifndef __IID_DEFINED__ +#define __IID_DEFINED__ + +typedef struct _IID +{ + unsigned long x; + unsigned short s1; + unsigned short s2; + unsigned char c[8]; +} IID; + +#endif // __IID_DEFINED__ + +#ifndef CLSID_DEFINED +#define CLSID_DEFINED +typedef IID CLSID; +#endif // CLSID_DEFINED + +#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ + const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} + +#endif !_MIDL_USE_GUIDDEF_ + +MIDL_DEFINE_GUID(IID, LIBID_MSTSCLib,0xAF586AAE,0xB62A,0x420E,0xB7,0x96,0x29,0x4E,0x7E,0xE6,0x4C,0x70); + + +MIDL_DEFINE_GUID(IID, DIID_IMsTscAxEvents,0x336D5562,0xEFA8,0x482E,0x8C,0xB3,0xC5,0xC0,0xFC,0x7A,0x7D,0xB6); + + +MIDL_DEFINE_GUID(IID, IID_IMsTscAx,0x327BB5CD,0x834E,0x4400,0xAE,0xF2,0xB3,0x0E,0x15,0xE5,0xD6,0x82); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClient,0x92B4A539,0x7115,0x4B7C,0xA5,0xA9,0xE5,0xD9,0xEF,0xC2,0x78,0x0A); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClient2,0xE7E17DC4,0x3B71,0x4BA7,0xA8,0xE6,0x28,0x1F,0xFA,0xDC,0xA2,0x8F); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClient3,0x91B7CBC5,0xA72E,0x4FA0,0x93,0x00,0xD6,0x47,0xD7,0xE8,0x97,0xFF); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClient4,0x095E0738,0xD97D,0x488B,0xB9,0xF6,0xDD,0x0E,0x8D,0x66,0xC0,0xDE); + + +MIDL_DEFINE_GUID(IID, IID_IMsTscNonScriptable,0xC1E6743A,0x41C1,0x4A74,0x83,0x2A,0x0D,0xD0,0x6C,0x1C,0x7A,0x0E); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClientNonScriptable,0x2F079C4C,0x87B2,0x4AFD,0x97,0xAB,0x20,0xCD,0xB4,0x30,0x38,0xAE); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClientNonScriptable2,0x17A5E535,0x4072,0x4FA4,0xAF,0x32,0xC8,0xD0,0xD4,0x73,0x45,0xE9); + + +MIDL_DEFINE_GUID(IID, IID_IMsTscAdvancedSettings,0x809945CC,0x4B3B,0x4A92,0xA6,0xB0,0xDB,0xF9,0xB5,0xF2,0xEF,0x2D); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings,0x3C65B4AB,0x12B3,0x465B,0xAC,0xD4,0xB8,0xDA,0xD3,0xBF,0xF9,0xE2); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings2,0x9AC42117,0x2B76,0x4320,0xAA,0x44,0x0E,0x61,0x6A,0xB8,0x43,0x7B); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings3,0x19CD856B,0xC542,0x4C53,0xAC,0xEE,0xF1,0x27,0xE3,0xBE,0x1A,0x59); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClientAdvancedSettings4,0xFBA7F64E,0x7345,0x4405,0xAE,0x50,0xFA,0x4A,0x76,0x3D,0xC0,0xDE); + + +MIDL_DEFINE_GUID(IID, IID_IMsTscSecuredSettings,0xC9D65442,0xA0F9,0x45B2,0x8F,0x73,0xD6,0x1D,0x2D,0xB8,0xCB,0xB6); + + +MIDL_DEFINE_GUID(IID, IID_IMsRdpClientSecuredSettings,0x605BEFCF,0x39C1,0x45CC,0xA8,0x11,0x06,0x8F,0xB7,0xBE,0x34,0x6D); + + +MIDL_DEFINE_GUID(IID, IID_IMsTscDebug,0x209D0EB9,0x6254,0x47B1,0x90,0x33,0xA9,0x8D,0xAE,0x55,0xBB,0x27); + + +MIDL_DEFINE_GUID(CLSID, CLSID_MsTscAx,0x1FB464C8,0x09BB,0x4017,0xA2,0xF5,0xEB,0x74,0x2F,0x04,0x39,0x2F); + + +MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient,0x791FA017,0x2DE3,0x492E,0xAC,0xC5,0x53,0xC6,0x7A,0x2B,0x94,0xD0); + + +MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient2,0x9059F30F,0x4EB1,0x4BD2,0x9F,0xDC,0x36,0xF4,0x3A,0x21,0x8F,0x4A); + + +MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient3,0x7584C670,0x2274,0x4EFB,0xB0,0x0B,0xD6,0xAA,0xBA,0x6D,0x38,0x50); + + +MIDL_DEFINE_GUID(CLSID, CLSID_MsRdpClient4,0x6AE29350,0x321B,0x42BE,0xBB,0xE5,0x12,0xFB,0x52,0x70,0xC0,0xDE); + +#undef MIDL_DEFINE_GUID + +#ifdef __cplusplus +} +#endif + + + diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj index e534bc2d71b..605ea7cec0c 100644 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/rdesktop-core-tester.vcproj @@ -62,7 +62,7 @@ /> @@ -262,7 +262,7 @@ > @@ -286,9 +286,89 @@ > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/stdafx.h b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/stdafx.h index ab4f2ce235f..9604eb15a86 100644 --- a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/stdafx.h +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/stdafx.h @@ -1,9 +1,10 @@ #pragma once #define _CRT_SECURE_NO_DEPRECATE -#define _SCL_SECURE 0 +#define _SECURE_SCL 0 #include +#include #include #include @@ -22,6 +23,7 @@ #include #include +#include #include #include diff --git a/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/typelib.rh b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/typelib.rh new file mode 100644 index 00000000000..172e1a6cce2 --- /dev/null +++ b/reactos/base/applications/tsclient/porting-tools/rdesktop-core-tester/typelib.rh @@ -0,0 +1,21 @@ +#define TOSTRING_(X) #X +#define TOSTRING(X) TOSTRING_(X) + +LANGUAGE 0, 0 + +#ifndef TYPELIB_PATH__ +#error TYPELIB_PATH__ not defined +#endif + +#ifndef TYPELIB_RESOURCEID__ +#error TYPELIB_RESOURCEID__ not defined +#endif + +/* + NOTE: + TYPELIB_PATH__ is defined on the command line (-D TYPELIB_PATH__=) + TYPELIB_RESOURCEID__ is defined before this file is included +*/ +TYPELIB_RESOURCEID__ TYPELIB TOSTRING(TYPELIB_PATH__) + +// EOF