/****************************************************************** Copyright (C) 2000 Microsoft Corp. Terminal.H -- WMI provider class definition Generated by Microsoft WBEM Code Generation Engine Description: *******************************************************************/ // Property set identification //============================ #ifndef _TerminalWinstation_H_ #define _TerminalWinstation_H_ #include "resource.h" #include #include #include #include #include "trace.h" #define PROVIDER_NAME_Win32_WIN32_TERMINALSERVICESETTING_Prov L"Win32_TerminalServiceSetting" #define PROVIDER_NAME_Win32_WIN32_TSPROVIDER_Prov L"Win32_TSProvider" #define PROVIDER_NAME_Win32_WIN32_TERMINALSERVICE_Prov L"Win32_TerminalService" #define PROVIDER_NAME_Win32_WIN32_TSSESSIONDIRECTORY_Prov L"Win32_TSSessionDirectory" #define SIZE_OF_BUFFER( x ) sizeof( x ) / sizeof( TCHAR ) extern BOOL g_bInitialized; // See ExecQuery for details of the usage of these #defines #define BIT_MODE 0x00000001 #define BIT_LICENSING 0x00000002 #define BIT_ACTIVEDESKTOP 0x00000004 #define BIT_USERPERM 0x00000008 #define BIT_DELETETEMPDIRS 0x00000010 #define BIT_PERSESSIONTEMPDIR 0x00000020 #define BIT_LOGONS 0x00000040 #define BIT_TOTALSESSIONS 0x00000080 #define BIT_DISCONNECTEDSESSIONS 0x00000100 #define BIT_ESTIMATEDSESSIONCAPACITY 0x00000200 #define BIT_RESOURCECONSTRAINT 0x00000400 #define BIT_RAWSESSIONCAPACITY 0x00000800 #define BIT_SESSIONDIRECTORY 0x00001000 #define BIT_CLUSTERNAME 0x00002000 #define BIT_HELP 0x00004000 #define BIT_ADDITIONALPARAMS 0x00008000 #define BIT_SESSIONDIRECTORYACTIVE 0x00010000 #define BIT_ALLOWTSCONNECTIONS 0x00020000 #define BIT_SINGLESESSION 0x00040000 #define BIT_PROFILEPATH 0x00080000 #define BIT_HOMEDIRECTORY 0x00100000 #define BIT_SESSIONDIRECTORYEXPOSESERVERIP 0x00200000 #define BIT_DIRECTCONNECTLICENSESERVERS 0x00400000 #define BIT_SERVERNAME 0x00800000 #define BIT_ALL_PROPERTIES 0xffffffff #define SESSDIR_LENGTH 64 #define OPAQUESETTINGS_LENGTH 256 // Property name externs -- defined in Terminal.cpp //================================================= //=-------------------------- class CStackClass { public: // Constructor/destructor //======================= CStackClass(); virtual ~CStackClass(); IClassFactory *m_pCfg; ICfgComp *m_pCfgComp; protected: // Reading Functions //============================ // Writing Functions //============================ // TO DO: Declare any additional functions and accessor // functions for private data used by this class //=========================================================== private: // All data members for CTerminalWinstation should be included here. } ; //=---------- class CWin32_TerminalService : public Provider { public: // Constructor/destructor //======================= CWin32_TerminalService( LPCWSTR lpwszName, LPCWSTR lpwszNameSpace ); virtual ~CWin32_TerminalService(); protected: // Reading Functions //============================ virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L); virtual HRESULT GetObject(CInstance *pInstance, long lFlags, CFrameworkQuery &Query); virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L); // Writing Functions //============================ // TO DO: Declare any additional functions and accessor // functions for private data used by this class //=========================================================== HRESULT LoadPropertyValues( CInstance *pInstance, DWORD dwRequiredProperties, WINSTATIONLOADINDICATORDATA LIData); private: // All data members for CTerminalWinstation should be included here. TCHAR m_szTotalSessions[ 64 ]; TCHAR m_szDisconnectedSessions[ 64 ]; TCHAR m_szEstimatedSessionCapacity[ 64 ]; TCHAR m_szResourceConstraint[ 64 ]; TCHAR m_szRawSessionCapacity[ 64 ]; TCHAR m_szName[ 64 ]; TCHAR m_szCaption[ 64 ]; } ; //=--------- class CWin32_TerminalServiceSetting : public Provider { public: // Constructor/destructor //======================= CWin32_TerminalServiceSetting(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace); virtual ~CWin32_TerminalServiceSetting(); protected: // Reading Functions //============================ virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L); virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query); virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L); // Writing Functions //============================ virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L); virtual HRESULT DeleteInstance(const CInstance& Instance, long lFlags = 0L); // Other Functions virtual HRESULT ExecMethod(const CInstance& Instance, const BSTR bstrMethodName, CInstance *pInParams, CInstance *pOutParams, long lFlags = 0L ); HRESULT LoadPropertyValues( CInstance *pInstance, DWORD dwRequiredProperties); // TO DO: Declare any additional functions and accessor // functions for private data used by this class //=========================================================== private: // All data members for CTerminalWinstation should be included here. // BOOL m_bInitialized; BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString); ISettingsComp *m_pSettings; POLICY_TS_MACHINE m_gpPolicy; TCHAR m_szServerName[ 64 ]; TCHAR m_szMode[ 64 ]; TCHAR m_szLicensingName[ 64 ]; TCHAR m_szLicensingDescription[ 512 ]; TCHAR m_szActiveDesktop[ 64 ]; TCHAR m_szUserPerm[ 64 ]; TCHAR m_szDeleteTempFolders[ 64 ]; TCHAR m_szUseTempFolders[ 64 ]; TCHAR m_szLogons[ 64 ]; TCHAR m_szHelp[ 64 ]; TCHAR m_szPropertyName[ 64 ]; TCHAR m_szValue[ 64 ]; TCHAR m_szChangeMode[ 64 ]; TCHAR m_szSetPolicyPropertyName[ 64 ]; TCHAR m_szLicensingType[ 64 ]; TCHAR m_szAllowTSConnections[ 64 ]; TCHAR m_szSetAllowTSConnections[ 64 ]; TCHAR m_szSingleSession[ 64 ]; TCHAR m_szSetSingleSession[ 64 ]; TCHAR m_szProfilePath[ 64 ]; TCHAR m_szHomeDirectory[ 64 ]; TCHAR m_szSetProfilePath[ 64 ]; TCHAR m_szSetHomeDirectory[ 64 ]; TCHAR m_szAddDirectConnectLicenseServer[ 64 ]; TCHAR m_szDeleteDirectConnectLicenseServer[ 64 ]; TCHAR m_szLicenseServerName[ 64 ]; TCHAR m_szDirectConnectLicenseServers[ 64 ]; } ; //=--------- class CWin32_TSSessionDirectory : public Provider { public: // Constructor/destructor //======================= CWin32_TSSessionDirectory(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace); virtual ~CWin32_TSSessionDirectory(); protected: // Reading Functions //============================ virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L); virtual HRESULT GetObject(CInstance* pInstance, long lFlags, CFrameworkQuery &Query ); virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L); // Writing Functions //============================ // virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L); virtual HRESULT DeleteInstance(const CInstance& Instance, long lFlags = 0L); // Other Functions virtual HRESULT ExecMethod(const CInstance& Instance, const BSTR bstrMethodName, CInstance *pInParams, CInstance *pOutParams, long lFlags = 0L ); HRESULT LoadPropertyValues( CInstance *pInstance, DWORD dwRequiredProperties); // TO DO: Declare any additional functions and accessor // functions for private data used by this class //=========================================================== private: // All data members for CTerminalWinstation should be included here. // BOOL m_bInitialized; BOOL IsInList(const CHStringArray &asArray, LPCWSTR pszString); // ADOConnection *m_pConnection; POLICY_TS_MACHINE m_gpPolicy; TCHAR m_szMode[ 64 ]; TCHAR m_szSessionDirectoryActive[ 64 ]; TCHAR m_szSessionDirectoryLocation[ 64 ]; TCHAR m_szSessionDirectoryClusterName[ 64 ]; TCHAR m_szSessionDirectoryExposeServerIP[ 64 ]; // TCHAR m_szSessionDirectoryAdditionalParams[ 64 ]; TCHAR m_szSetSessionDirectoryProperty[ 64 ]; TCHAR m_szSetSessionDirectoryActive[ 64 ]; TCHAR m_szSetSessionDirectoryExposeServerIP[ 64 ]; TCHAR m_szPropertyName[ 64 ]; TCHAR m_szValue[ 64 ]; } ; //-----------------------Changed-------------------------- // struct to hold instance information #endif