You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
280 lines
14 KiB
280 lines
14 KiB
/**INC+**********************************************************************/
|
|
/* Header: advset.h */
|
|
/* */
|
|
/* Purpose: CMstscAdvSettings class declaration */
|
|
/* implements IMsRdpClientAdvancedSettings2 */
|
|
/* and IMsRdpClientAdvancedSettings */
|
|
/* and IMsTscAdvancedSettings (for backwards compat) */
|
|
/* */
|
|
/* Copyright(C) Microsoft Corporation 1999-2000 */
|
|
/* */
|
|
/****************************************************************************/
|
|
|
|
#ifndef _ADVSET_H_
|
|
#define _ADVSET_H_
|
|
|
|
|
|
#include "atlwarn.h"
|
|
#include "wui.h"
|
|
|
|
//Header generated from IDL
|
|
#include "mstsax.h"
|
|
#include "mstscax.h"
|
|
|
|
//
|
|
// Limit timeout properties to 10 minutes
|
|
//
|
|
#define MAX_TIMEOUT_SECONDS (10*60)
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMsTscAx
|
|
class ATL_NO_VTABLE CMstscAdvSettings :
|
|
public CComObjectRootEx<CComSingleThreadModel>,
|
|
public IDispatchImpl<IMsRdpClientAdvancedSettings3,
|
|
&IID_IMsRdpClientAdvancedSettings3, &LIBID_MSTSCLib>
|
|
{
|
|
public:
|
|
/****************************************************************************/
|
|
/* Constructor / Destructor. */
|
|
/****************************************************************************/
|
|
CMstscAdvSettings();
|
|
~CMstscAdvSettings();
|
|
|
|
DECLARE_PROTECT_FINAL_CONSTRUCT();
|
|
BEGIN_COM_MAP(CMstscAdvSettings)
|
|
COM_INTERFACE_ENTRY(IMsRdpClientAdvancedSettings3)
|
|
COM_INTERFACE_ENTRY(IMsRdpClientAdvancedSettings2)
|
|
COM_INTERFACE_ENTRY(IMsRdpClientAdvancedSettings)
|
|
COM_INTERFACE_ENTRY(IMsTscAdvancedSettings)
|
|
COM_INTERFACE_ENTRY2(IDispatch,IMsRdpClientAdvancedSettings3)
|
|
END_COM_MAP()
|
|
|
|
public:
|
|
//
|
|
// Advanced properties
|
|
//
|
|
|
|
//
|
|
// IMsTscAdvancedSettings methods
|
|
//
|
|
STDMETHOD(put_Compress) (LONG compress);
|
|
STDMETHOD(get_Compress) (LONG* pcompress);
|
|
// Incorrect spelling, shipped in TSAC
|
|
STDMETHOD(put_BitmapPeristence) (LONG bitmapPeristence);
|
|
STDMETHOD(get_BitmapPeristence) (LONG* pbitmapPeristence);
|
|
// End incorrect spelling
|
|
STDMETHOD(put_allowBackgroundInput) (LONG allowBackgroundInput);
|
|
STDMETHOD(get_allowBackgroundInput) (LONG* pallowBackgroundInput);
|
|
STDMETHOD(put_KeyBoardLayoutStr) (BSTR KeyBoardLayoutStr);
|
|
STDMETHOD(put_PluginDlls) (BSTR PluginDlls);
|
|
STDMETHOD(put_IconFile) (BSTR IconFile);
|
|
STDMETHOD(put_IconIndex) (LONG IconIndex);
|
|
STDMETHOD(put_ContainerHandledFullScreen) (BOOL ContainerHandledFullScreen);
|
|
STDMETHOD(get_ContainerHandledFullScreen) (BOOL* pContainerHandledFullScreen);
|
|
STDMETHOD(put_DisableRdpdr) (BOOL DisableRdpdr);
|
|
STDMETHOD(get_DisableRdpdr) (BOOL* pDisableRdpdr);
|
|
|
|
|
|
//
|
|
// IMsRdpClientAdvancedSettings methods
|
|
//
|
|
STDMETHOD(put_SmoothScroll) (LONG smoothScroll);
|
|
STDMETHOD(get_SmoothScroll) (LONG* psmoothScroll);
|
|
STDMETHOD(put_AcceleratorPassthrough) (LONG acceleratorPassthrough);
|
|
STDMETHOD(get_AcceleratorPassthrough) (LONG* pacceleratorPassthrough);
|
|
STDMETHOD(put_ShadowBitmap) (LONG shadowBitmap);
|
|
STDMETHOD(get_ShadowBitmap) (LONG* pshadowBitmap);
|
|
STDMETHOD(put_TransportType) (LONG transportType);
|
|
STDMETHOD(get_TransportType) (LONG* ptransportType);
|
|
STDMETHOD(put_SasSequence) (LONG sasSequence);
|
|
STDMETHOD(get_SasSequence) (LONG* psasSequence);
|
|
STDMETHOD(put_EncryptionEnabled) (LONG encryptionEnabled);
|
|
STDMETHOD(get_EncryptionEnabled) (LONG* pencryptionEnabled);
|
|
STDMETHOD(put_DedicatedTerminal) (LONG dedicatedTerminal);
|
|
STDMETHOD(get_DedicatedTerminal) (LONG* pdedicatedTerminal);
|
|
STDMETHOD(put_RDPPort) (LONG RDPPort);
|
|
STDMETHOD(get_RDPPort) (LONG* pRDPPort);
|
|
STDMETHOD(put_EnableMouse) (LONG enableMouse);
|
|
STDMETHOD(get_EnableMouse) (LONG* penableMouse);
|
|
STDMETHOD(put_DisableCtrlAltDel) (LONG disableCtrlAltDel);
|
|
STDMETHOD(get_DisableCtrlAltDel) (LONG* pdisableCtrlAltDel);
|
|
STDMETHOD(put_EnableWindowsKey) (LONG enableWindowsKey);
|
|
STDMETHOD(get_EnableWindowsKey) (LONG* penableWindowsKey);
|
|
STDMETHOD(put_DoubleClickDetect) (LONG doubleClickDetect);
|
|
STDMETHOD(get_DoubleClickDetect) (LONG* pdoubleClickDetect);
|
|
STDMETHOD(put_MaximizeShell) (LONG maximizeShell);
|
|
STDMETHOD(get_MaximizeShell) (LONG* pmaximizeShell);
|
|
STDMETHOD(put_HotKeyFullScreen) (LONG hotKeyFullScreen);
|
|
STDMETHOD(get_HotKeyFullScreen) (LONG* photKeyFullScreen);
|
|
STDMETHOD(put_HotKeyCtrlEsc) (LONG hotKeyCtrlEsc);
|
|
STDMETHOD(get_HotKeyCtrlEsc) (LONG* photKeyCtrlEsc);
|
|
STDMETHOD(put_HotKeyAltEsc) (LONG hotKeyAltEsc);
|
|
STDMETHOD(get_HotKeyAltEsc) (LONG* photKeyAltEsc);
|
|
STDMETHOD(put_HotKeyAltTab) (LONG hotKeyAltTab);
|
|
STDMETHOD(get_HotKeyAltTab) (LONG* photKeyAltTab);
|
|
STDMETHOD(put_HotKeyAltShiftTab) (LONG hotKeyAltShiftTab);
|
|
STDMETHOD(get_HotKeyAltShiftTab) (LONG* photKeyAltShiftTab);
|
|
STDMETHOD(put_HotKeyAltSpace) (LONG hotKeyAltSpace);
|
|
STDMETHOD(get_HotKeyAltSpace) (LONG* photKeyAltSpace);
|
|
STDMETHOD(put_HotKeyCtrlAltDel) (LONG hotKeyCtrlAltDel);
|
|
STDMETHOD(get_HotKeyCtrlAltDel) (LONG* photKeyCtrlAltDel);
|
|
STDMETHOD(put_orderDrawThreshold) (LONG orderDrawThreshold);
|
|
STDMETHOD(get_orderDrawThreshold) (LONG* porderDrawThreshold);
|
|
STDMETHOD(put_BitmapCacheSize) (LONG bitmapCacheSize);
|
|
STDMETHOD(get_BitmapCacheSize) (LONG* pbitmapCacheSize);
|
|
STDMETHOD(put_BitmapVirtualCacheSize) (LONG bitmapVirtualCacheSize);
|
|
STDMETHOD(get_BitmapVirtualCacheSize) (LONG* pbitmapVirtualCacheSize);
|
|
STDMETHOD(put_ScaleBitmapCachesByBPP) (LONG);
|
|
STDMETHOD(get_ScaleBitmapCachesByBPP) (LONG *);
|
|
STDMETHOD(put_NumBitmapCaches) (LONG numBitmapCaches);
|
|
STDMETHOD(get_NumBitmapCaches) (LONG* pnumBitmapCaches);
|
|
STDMETHOD(put_CachePersistenceActive) (LONG cachePersistenceActive);
|
|
STDMETHOD(get_CachePersistenceActive) (LONG* pcachePersistenceActive);
|
|
|
|
STDMETHOD(put_brushSupportLevel) (LONG brushSupportLevel);
|
|
STDMETHOD(get_brushSupportLevel) (LONG* pbrushSupportLevel);
|
|
STDMETHOD(put_PersistCacheDirectory) (BSTR PersistCacheDirectory);
|
|
STDMETHOD(put_minInputSendInterval) (LONG minInputSendInterval);
|
|
STDMETHOD(get_minInputSendInterval) (LONG* pminInputSendInterval);
|
|
STDMETHOD(put_InputEventsAtOnce) (LONG inputEventsAtOnce);
|
|
STDMETHOD(get_InputEventsAtOnce) (LONG* pinputEventsAtOnce);
|
|
STDMETHOD(put_maxEventCount) (LONG maxEventCount);
|
|
STDMETHOD(get_maxEventCount) (LONG* pmaxEventCount);
|
|
STDMETHOD(put_keepAliveInterval) (LONG keepAliveInterval);
|
|
STDMETHOD(get_keepAliveInterval) (LONG* pkeepAliveInterval);
|
|
STDMETHOD(put_shutdownTimeout) (LONG shutdownTimeout);
|
|
STDMETHOD(get_shutdownTimeout) (LONG* pshutdownTimeout);
|
|
STDMETHOD(put_overallConnectionTimeout) (LONG overallConnectionTimeout);
|
|
STDMETHOD(get_overallConnectionTimeout) (LONG* poverallConnectionTimeout);
|
|
STDMETHOD(put_singleConnectionTimeout) (LONG singleConnectionTimeout);
|
|
STDMETHOD(get_singleConnectionTimeout) (LONG* psingleConnectionTimeout);
|
|
STDMETHOD(put_KeyboardType) (LONG keyboardType);
|
|
STDMETHOD(get_KeyboardType) (LONG* pkeyboardType);
|
|
STDMETHOD(put_KeyboardSubType) (LONG keyboardSubType);
|
|
STDMETHOD(get_KeyboardSubType) (LONG* pkeyboardSubType);
|
|
STDMETHOD(put_KeyboardFunctionKey) (LONG keyboardFunctionKey);
|
|
STDMETHOD(get_KeyboardFunctionKey) (LONG* pkeyboardFunctionKey);
|
|
STDMETHOD(put_WinceFixedPalette) (LONG winceFixedPalette);
|
|
STDMETHOD(get_WinceFixedPalette) (LONG* pwinceFixedPalette);
|
|
STDMETHOD(put_ConnectToServerConsole) (VARIANT_BOOL connectToServerConsole);
|
|
STDMETHOD(get_ConnectToServerConsole) (VARIANT_BOOL* pConnectToServerConsole);
|
|
// Correct spelling version of bitmap persistence prop (see above)
|
|
STDMETHOD(put_BitmapPersistence) (LONG bitmapPersistence);
|
|
STDMETHOD(get_BitmapPersistence) (LONG* pbitmapPersistence);
|
|
|
|
STDMETHOD(put_MinutesToIdleTimeout) (LONG minutesToIdleTimeout);
|
|
STDMETHOD(get_MinutesToIdleTimeout) (LONG* pminutesToIdleTimeout);
|
|
|
|
#ifdef SMART_SIZING
|
|
STDMETHOD(put_SmartSizing) (VARIANT_BOOL fSmartSize);
|
|
STDMETHOD(get_SmartSizing) (VARIANT_BOOL *pfSmartSize);
|
|
#endif // SMART_SIZING
|
|
|
|
STDMETHOD(put_RdpdrLocalPrintingDocName)(BSTR RdpdrLocalPrintingDocName);
|
|
STDMETHOD(get_RdpdrLocalPrintingDocName)(BSTR *pRdpdrLocalPrintingDocName);
|
|
|
|
STDMETHOD(put_RdpdrClipCleanTempDirString)(BSTR RdpdrClipCleanTempDirString);
|
|
STDMETHOD(get_RdpdrClipCleanTempDirString)(BSTR *pRdpdrClipCleanTempDirString);
|
|
|
|
STDMETHOD(put_RdpdrClipPasteInfoString)(BSTR RdpdrClipPasteInfoString);
|
|
STDMETHOD(get_RdpdrClipPasteInfoString)(BSTR *pRdpdrClipPasteInfoString);
|
|
|
|
STDMETHOD(put_ClearTextPassword) (BSTR clearTextPassword);
|
|
STDMETHOD(put_DisplayConnectionBar) (VARIANT_BOOL fDisplayConnectionBar);
|
|
STDMETHOD(get_DisplayConnectionBar) (VARIANT_BOOL *pfDisplayConnectionBar);
|
|
STDMETHOD(put_PinConnectionBar) (VARIANT_BOOL fPinConnectionBar);
|
|
STDMETHOD(get_PinConnectionBar) (VARIANT_BOOL *pfPinConnectionBar);
|
|
|
|
STDMETHOD(put_GrabFocusOnConnect) (VARIANT_BOOL fGrabFocusOnConnect);
|
|
STDMETHOD(get_GrabFocusOnConnect) (VARIANT_BOOL *pfGrabFocusOnConnect);
|
|
STDMETHOD(put_LoadBalanceInfo) (/*[in]*/ BSTR newLBInfo);
|
|
STDMETHOD(get_LoadBalanceInfo) (/*[out,retval]*/BSTR* pLBInfo);
|
|
|
|
//
|
|
// Device redirection
|
|
//
|
|
STDMETHOD(put_RedirectDrives) (VARIANT_BOOL redirectDrives);
|
|
STDMETHOD(get_RedirectDrives) (VARIANT_BOOL* pRedirectDrives);
|
|
STDMETHOD(put_RedirectPrinters) (VARIANT_BOOL redirectPrinters);
|
|
STDMETHOD(get_RedirectPrinters) (VARIANT_BOOL* pRedirectPrinters);
|
|
STDMETHOD(put_RedirectPorts) (VARIANT_BOOL redirectPorts);
|
|
STDMETHOD(get_RedirectPorts) (VARIANT_BOOL* pRedirectPorts);
|
|
STDMETHOD(put_RedirectSmartCards) (VARIANT_BOOL redirectScard);
|
|
STDMETHOD(get_RedirectSmartCards) (VARIANT_BOOL* pRedirectScard);
|
|
|
|
//
|
|
// Hi-Color bitmap cache sizes
|
|
//
|
|
STDMETHOD(put_BitmapVirtualCache16BppSize)(LONG bitmapVirtualCache16BppSize);
|
|
STDMETHOD(get_BitmapVirtualCache16BppSize)(LONG* pBitmapVirtualCache16BppSize);
|
|
STDMETHOD(put_BitmapVirtualCache24BppSize)(LONG bitmapVirtualCache24BppSize);
|
|
STDMETHOD(get_BitmapVirtualCache24BppSize)(LONG* pBitmapVirtualCache24BppSize);
|
|
|
|
STDMETHOD(put_PerformanceFlags) (LONG DisableFeatList);
|
|
STDMETHOD(get_PerformanceFlags) (LONG* pDisableFeatList);
|
|
STDMETHOD(put_ConnectWithEndpoint) (VARIANT* ConnectionEndpoint);
|
|
STDMETHOD(put_NotifyTSPublicKey) (VARIANT_BOOL fNotify);
|
|
STDMETHOD(get_NotifyTSPublicKey) (VARIANT_BOOL* pfNotify);
|
|
|
|
|
|
|
|
//
|
|
// IMsRdpClientAdvancedSettings2 methods
|
|
//
|
|
|
|
//Autoreconnection properties
|
|
STDMETHOD(get_CanAutoReconnect) (VARIANT_BOOL* pfCanAutoReconnect);
|
|
STDMETHOD(put_EnableAutoReconnect) (VARIANT_BOOL fEnableAutoReconnect);
|
|
STDMETHOD(get_EnableAutoReconnect) (VARIANT_BOOL* pfEnableAutoReconnect);
|
|
|
|
STDMETHOD(put_MaxReconnectAttempts) (LONG ReconnectAttempts);
|
|
STDMETHOD(get_MaxReconnectAttempts) (LONG* pReconnectAttempts);
|
|
|
|
//
|
|
// IMsRdpClientAdvancedSettings3 methods
|
|
//
|
|
STDMETHOD(put_ConnectionBarShowMinimizeButton) (VARIANT_BOOL fShow);
|
|
STDMETHOD(get_ConnectionBarShowMinimizeButton) (VARIANT_BOOL* pfShow);
|
|
|
|
STDMETHOD(put_ConnectionBarShowRestoreButton) (VARIANT_BOOL fShow);
|
|
STDMETHOD(get_ConnectionBarShowRestoreButton) (VARIANT_BOOL* pfShow);
|
|
|
|
public:
|
|
BOOL SetUI(CUI* pUI);
|
|
VOID SetSafeForScripting(BOOL bSafe) {m_bMakeSafeForScripting = bSafe;}
|
|
BOOL GetSafeForScripting() {return m_bMakeSafeForScripting;}
|
|
VOID SetInterfaceLockedForWrite(BOOL bLocked) {m_bLockedForWrite=bLocked;}
|
|
BOOL GetLockedForWrite() {return m_bLockedForWrite;}
|
|
|
|
//
|
|
// This object is a child of the Ax control. Don't increment
|
|
// a ref count for this reference to prevent a circular dependency
|
|
// the reference to the parent (pAxControl) is implicit because
|
|
// the object is a child.
|
|
//
|
|
VOID SetAxCtl(CMsTscAx* pAxCtl) {_pAxControl = pAxCtl;}
|
|
|
|
|
|
private:
|
|
BOOL IsSecureDllList(LPCTSTR szDllList);
|
|
LPTSTR CreateExplicitPathList(LPCTSTR szDllList);
|
|
|
|
private:
|
|
CUI* m_pUI;
|
|
CMsTscAx* _pAxControl;
|
|
//
|
|
// Flag is set by the control when these properties can not be modified
|
|
// e.g while connected. Any calls on these properties while locked
|
|
// result in an E_FAIL being returned.
|
|
//
|
|
BOOL m_bLockedForWrite;
|
|
|
|
//
|
|
// Flag set by control to indicate that the object must
|
|
// be safe for scripting
|
|
//
|
|
BOOL m_bMakeSafeForScripting;
|
|
};
|
|
|
|
#endif //_ADVSET_H_
|
|
|