Leaked source code of windows server 2003
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.
 
 
 
 
 
 

92 lines
3.8 KiB

/**INC+**********************************************************************/
/* Header: securedset.h */
/* */
/* Purpose: CMsTscSecuredSettings class declaration */
/* implements IMsTscSecuredSettings */
/* */
/* The secured settings object allows scriptable access to less secure */
/* properties in a controlled manner (only in a valid browser security zone)*/
/* */
/* The security checks are made before returning this object. So the */
/* individual properties do not need to make any checks */
/* */
/* */
/* */
/* Copyright(C) Microsoft Corporation 1999-2000 */
/* */
/****************************************************************************/
#ifndef _SECUREDSET_H_
#define _SECUREDSET_H_
#include "atlwarn.h"
//Header generated from IDL
#include "mstsax.h"
#include "mstscax.h"
/////////////////////////////////////////////////////////////////////////////
// CMsTscAx
class ATL_NO_VTABLE CMsTscSecuredSettings :
public CComObjectRootEx<CComSingleThreadModel>,
public IDispatchImpl<IMsRdpClientSecuredSettings,
&IID_IMsRdpClientSecuredSettings, &LIBID_MSTSCLib>
{
public:
/****************************************************************************/
/* Constructor / Destructor. */
/****************************************************************************/
CMsTscSecuredSettings();
~CMsTscSecuredSettings();
DECLARE_PROTECT_FINAL_CONSTRUCT();
BEGIN_COM_MAP(CMsTscSecuredSettings)
COM_INTERFACE_ENTRY(IMsRdpClientSecuredSettings)
COM_INTERFACE_ENTRY(IMsTscSecuredSettings)
COM_INTERFACE_ENTRY2(IDispatch,IMsRdpClientSecuredSettings)
END_COM_MAP()
public:
//
// Secured scriptable properties
//
//
// IMsTscSecuredSettings methods
//
STDMETHOD(put_StartProgram) (/*[in]*/ BSTR newVal);
STDMETHOD(get_StartProgram) (/*[out]*/BSTR* pStartProgram);
STDMETHOD(put_WorkDir) (/*[in]*/ BSTR newVal);
STDMETHOD(get_WorkDir) (/*[out]*/BSTR* pWorkDir);
STDMETHOD(put_FullScreen) (/*[in]*/ BOOL fFullScreen);
STDMETHOD(get_FullScreen) (/*[out]*/BOOL* pfFullScreen);
//
// IMsRdpClientSecuredSettings methods (v2 interface)
//
STDMETHOD(put_KeyboardHookMode) (LONG KeyboardHookMode);
STDMETHOD(get_KeyboardHookMode) (LONG* pKeyboardHookMode);
STDMETHOD(put_AudioRedirectionMode) (LONG audioRedirectionMode);
STDMETHOD(get_AudioRedirectionMode) (LONG* paudioRedirectionMode);
public:
BOOL SetParent(CMsTscAx* pMsTsc);
BOOL SetUI(CUI* pUI);
VOID SetInterfaceLockedForWrite(BOOL bLocked) {m_bLockedForWrite=bLocked;}
BOOL GetLockedForWrite() {return m_bLockedForWrite;}
static BOOL IsDriveRedirGloballyDisabled();
private:
CMsTscAx* m_pMsTsc;
CUI* m_pUI;
//
// 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;
};
#endif //_SECUREDSET_H_