mirror of https://github.com/tongzx/nt5src
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.
307 lines
9.8 KiB
307 lines
9.8 KiB
/******************************************************************
|
|
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 <winsta.h>
|
|
#include <regapi.h>
|
|
#include <utilsub.h>
|
|
#include <allproc.h>
|
|
#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
|
|
|