Source code of Windows XP (NT5)
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.
|
|
#ifndef _schema_h_
#define _schema_h_
#include "globalconstants.h"
//
// Forward declarations
//
struct METABASE_KEYTYPE; struct METABASE_KEYTYPE_NODE;
//
// DataTypes
//
struct METABASE_KEYTYPE { //
// Not populated automatically for static data
//
LPWSTR m_pszName;
//
// This is the list of keytypes that can contain this keytype
// (the opposite of the container class list)
//
// Populated automatically even for static data
//
METABASE_KEYTYPE_NODE* m_pKtListInverseCCL;
//
// Not populated automatically for static data
//
LPCWSTR m_pszDisallowDeletionNode; };
struct METABASE_KEYTYPE_NODE { const METABASE_KEYTYPE* m_pKt; METABASE_KEYTYPE_NODE* m_pKtNext; };
struct WMI_METHOD_PARAM { LPWSTR pszParamName; CIMTYPE type; ULONG iInOut; };
struct WMI_METHOD { LPWSTR pszMethodName; DWORD dwMDId; LPWSTR pszRetType; WMI_METHOD_PARAM** ppParams;
LPWSTR pszDescription; };
struct METABASE_PROPERTY { LPWSTR pszPropName; DWORD dwMDIdentifier; DWORD dwMDUserType; DWORD dwMDDataType; DWORD dwMDMask; // if this is set to all bits on, it means this is bool, but not part of a flag.
DWORD dwMDAttributes; BOOL fReadOnly;
// if DWORD_METADATA, pDefaultValue points to the above dwDefaultValue.
// otherwise it points to memory in pool.
LPVOID pDefaultValue;
// used for DWORD_METADATA
DWORD dwDefaultValue; };
struct WMI_CLASS { LPWSTR pszClassName; LPWSTR pszMetabaseKey; LPWSTR pszKeyName; METABASE_PROPERTY** ppmbp; METABASE_KEYTYPE* pkt; WMI_METHOD** ppMethod; DWORD dwExtended;
// This is only set for hardcoded wmi classes. Otherwise, the defaults
// at the top of this file are used.
LPWSTR pszParentClass;
//
// Whether we let users create instances of this class.
// Some examples where this is false are IIsFtpService, IIsWebService, etc.
//
bool bCreateAllowed;
// This pointer is only valid during initialization time.
// It points to mbschema.bin
LPWSTR pszDescription; };
struct WMI_ASSOCIATION_TYPE { LPWSTR pszLeft; LPWSTR pszRight;
LPWSTR pszParent; LPWSTR pszExtParent; };
struct WMI_ASSOCIATION { LPWSTR pszAssociationName; WMI_CLASS* pcLeft; WMI_CLASS* pcRight; WMI_ASSOCIATION_TYPE *pType; DWORD fFlags; DWORD dwExtended; LPWSTR pszParentClass; };
//
// Hardcoded Data
//
struct METABASE_KEYTYPE_DATA { static METABASE_KEYTYPE s_IIsApplicationPool; static METABASE_KEYTYPE s_IIsApplicationPools; static METABASE_KEYTYPE s_IIsCertMapper; static METABASE_KEYTYPE s_IIsCompressionScheme; static METABASE_KEYTYPE s_IIsCompressionSchemes; static METABASE_KEYTYPE s_IIsComputer; static METABASE_KEYTYPE s_IIsCustomLogModule; static METABASE_KEYTYPE s_IIsFilter; static METABASE_KEYTYPE s_IIsFilters; static METABASE_KEYTYPE s_IIsFtpInfo; static METABASE_KEYTYPE s_IIsFtpServer; static METABASE_KEYTYPE s_IIsFtpService; static METABASE_KEYTYPE s_IIsFtpVirtualDir; static METABASE_KEYTYPE s_IIsImapInfo; static METABASE_KEYTYPE s_IIsImapService; static METABASE_KEYTYPE s_IIsLogModule; static METABASE_KEYTYPE s_IIsLogModules; static METABASE_KEYTYPE s_IIsMimeMap; static METABASE_KEYTYPE s_IIsNntpInfo; static METABASE_KEYTYPE s_IIsNntpService; static METABASE_KEYTYPE s_IIsObject; static METABASE_KEYTYPE s_IIsPop3Info; static METABASE_KEYTYPE s_IIsPop3Service; static METABASE_KEYTYPE s_IIsSmtpInfo; static METABASE_KEYTYPE s_IIsSmtpService; static METABASE_KEYTYPE s_IIsWebDirectory; static METABASE_KEYTYPE s_IIsWebFile; static METABASE_KEYTYPE s_IIsWebInfo; static METABASE_KEYTYPE s_IIsWebServer; static METABASE_KEYTYPE s_IIsWebService; static METABASE_KEYTYPE s_IIsWebVirtualDir;
static METABASE_KEYTYPE s_TYPE_AdminACL; static METABASE_KEYTYPE s_TYPE_AdminACE; static METABASE_KEYTYPE s_TYPE_IPSecurity; static METABASE_KEYTYPE s_NO_TYPE;
static METABASE_KEYTYPE* s_MetabaseKeyTypes[]; };
struct METABASE_PROPERTY_DATA { static METABASE_PROPERTY s_KeyType; static METABASE_PROPERTY s_ServerComment; static METABASE_PROPERTY s_ServerBindings; static METABASE_PROPERTY s_Path; static METABASE_PROPERTY s_AppRoot;
static METABASE_PROPERTY* s_MetabaseProperties[]; };
struct WMI_METHOD_PARAM_DATA { static WMI_METHOD_PARAM s_Applications; static WMI_METHOD_PARAM s_AppMode; static WMI_METHOD_PARAM s_BackupDateTimeOut; static WMI_METHOD_PARAM s_BackupFlags; static WMI_METHOD_PARAM s_BackupLocation; static WMI_METHOD_PARAM s_BackupLocation_io; static WMI_METHOD_PARAM s_BackupVersion; static WMI_METHOD_PARAM s_BackupVersionOut; static WMI_METHOD_PARAM s_DestPath; static WMI_METHOD_PARAM s_EnumIndex; static WMI_METHOD_PARAM s_FileName; static WMI_METHOD_PARAM s_HistoryTime; static WMI_METHOD_PARAM s_IEnabled; static WMI_METHOD_PARAM s_IEnabled_o; static WMI_METHOD_PARAM s_IMethod; static WMI_METHOD_PARAM s_IndexIn; static WMI_METHOD_PARAM s_InProcFlag; static WMI_METHOD_PARAM s_AppPoolName; static WMI_METHOD_PARAM s_bCreate; static WMI_METHOD_PARAM s_MajorVersion; static WMI_METHOD_PARAM s_MajorVersion_o; static WMI_METHOD_PARAM s_MDFlags; static WMI_METHOD_PARAM s_MDHistoryLocation; static WMI_METHOD_PARAM s_MDHistoryLocation_io; static WMI_METHOD_PARAM s_MinorVersion; static WMI_METHOD_PARAM s_MinorVersion_o; static WMI_METHOD_PARAM s_NtAcct; static WMI_METHOD_PARAM s_NtAcct_o; static WMI_METHOD_PARAM s_NtPwd; static WMI_METHOD_PARAM s_NtPwd_o; static WMI_METHOD_PARAM s_Password; static WMI_METHOD_PARAM s_Passwd; static WMI_METHOD_PARAM s_PathOfRootVirtualDir; static WMI_METHOD_PARAM s_Recursive; static WMI_METHOD_PARAM s_ServerComment; static WMI_METHOD_PARAM s_ServerBindings; static WMI_METHOD_PARAM s_ServerId; static WMI_METHOD_PARAM s_ServerMode; static WMI_METHOD_PARAM s_SourcePath; static WMI_METHOD_PARAM s_strName; static WMI_METHOD_PARAM s_strName_o; static WMI_METHOD_PARAM s_vCert; static WMI_METHOD_PARAM s_vCert_o; static WMI_METHOD_PARAM s_vKey;
static WMI_METHOD_PARAM* s_ServiceCreateNewServer[]; static WMI_METHOD_PARAM* s_GetCurrentMode[];
static WMI_METHOD_PARAM* s_AppCreate[]; static WMI_METHOD_PARAM* s_AppCreate2[]; static WMI_METHOD_PARAM* s_AppDelete[]; static WMI_METHOD_PARAM* s_AppUnLoad[]; static WMI_METHOD_PARAM* s_AppDisable[]; static WMI_METHOD_PARAM* s_AppEnable[];
static WMI_METHOD_PARAM* s_BackupWithPasswd[]; static WMI_METHOD_PARAM* s_DeleteBackup[]; static WMI_METHOD_PARAM* s_EnumBackups[]; static WMI_METHOD_PARAM* s_RestoreWithPasswd[]; static WMI_METHOD_PARAM* s_Export[]; static WMI_METHOD_PARAM* s_Import[]; static WMI_METHOD_PARAM* s_RestoreHistory[]; static WMI_METHOD_PARAM* s_EnumHistory[];
static WMI_METHOD_PARAM* s_CreateMapping[]; static WMI_METHOD_PARAM* s_DeleteMapping[]; static WMI_METHOD_PARAM* s_GetMapping[]; static WMI_METHOD_PARAM* s_SetAcct[]; static WMI_METHOD_PARAM* s_SetEnabled[]; static WMI_METHOD_PARAM* s_SetName[]; static WMI_METHOD_PARAM* s_SetPwd[];
static WMI_METHOD_PARAM* s_EnumAppsInPool[]; };
struct WMI_METHOD_DATA { static WMI_METHOD s_ServiceCreateNewServer; static WMI_METHOD s_GetCurrentMode;
static WMI_METHOD s_ServerStart; static WMI_METHOD s_ServerStop; static WMI_METHOD s_ServerContinue; static WMI_METHOD s_ServerPause;
static WMI_METHOD s_AppCreate; static WMI_METHOD s_AppCreate2; static WMI_METHOD s_AppDelete; static WMI_METHOD s_AppUnLoad; static WMI_METHOD s_AppDisable; static WMI_METHOD s_AppEnable; static WMI_METHOD s_AppGetStatus; static WMI_METHOD s_AspAppRestart;
static WMI_METHOD s_SaveData; static WMI_METHOD s_BackupWithPasswd; static WMI_METHOD s_DeleteBackup; static WMI_METHOD s_EnumBackups; static WMI_METHOD s_RestoreWithPasswd; static WMI_METHOD s_Export; static WMI_METHOD s_Import; static WMI_METHOD s_RestoreHistory; static WMI_METHOD s_EnumHistory;
static WMI_METHOD s_CreateMapping; static WMI_METHOD s_DeleteMapping; static WMI_METHOD s_GetMapping; static WMI_METHOD s_SetAcct; static WMI_METHOD s_SetEnabled; static WMI_METHOD s_SetName; static WMI_METHOD s_SetPwd;
static WMI_METHOD s_EnumAppsInPool; static WMI_METHOD s_RecycleAppPool; static WMI_METHOD s_Start; static WMI_METHOD s_Stop;
static WMI_METHOD* s_WebServiceMethods[]; static WMI_METHOD* s_ServiceMethods[]; static WMI_METHOD* s_ServerMethods[]; static WMI_METHOD* s_WebAppMethods[]; static WMI_METHOD* s_ComputerMethods[]; static WMI_METHOD* s_CertMapperMethods[]; static WMI_METHOD* s_AppPoolMethods[]; };
struct WMI_CLASS_DATA { static WMI_CLASS s_Computer; static WMI_CLASS s_ComputerSetting; static WMI_CLASS s_FtpService; static WMI_CLASS s_FtpServer; static WMI_CLASS s_FtpVirtualDir; static WMI_CLASS s_WebService; static WMI_CLASS s_WebFilter; static WMI_CLASS s_WebServer; static WMI_CLASS s_WebCertMapper; static WMI_CLASS s_WebVirtualDir; static WMI_CLASS s_WebDirectory; static WMI_CLASS s_WebFile; static WMI_CLASS s_ApplicationPool;
static WMI_CLASS s_AdminACL; static WMI_CLASS s_ACE; static WMI_CLASS s_IPSecurity;
static WMI_CLASS* s_WmiClasses[]; };
struct WMI_ASSOCIATION_TYPE_DATA { static WMI_ASSOCIATION_TYPE s_ElementSetting; static WMI_ASSOCIATION_TYPE s_Component; static WMI_ASSOCIATION_TYPE s_AdminACL; static WMI_ASSOCIATION_TYPE s_IPSecurity; };
struct WMI_ASSOCIATION_DATA { static WMI_ASSOCIATION s_AdminACLToACE; static WMI_ASSOCIATION* s_WmiAssociations[]; };
#endif
|