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.

183 lines
5.3 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. globals.hxx
  5. Abstract:
  6. IIS MetaBase global variable externs
  7. Author:
  8. Michael W. Thomas 31-May-96
  9. Revision History:
  10. --*/
  11. extern CMDCOMSrvFactory *g_pFactory;
  12. extern ULONG g_dwRefCount;
  13. extern CMDBaseObject *g_pboMasterRoot;
  14. extern CReaderWriterLock3 g_LockMasterResource;
  15. extern TS_RESOURCE *g_rSinkResource;
  16. extern CMDHandle *g_phHandleHead;
  17. extern METADATA_HANDLE g_mhHandleIdentifier;
  18. extern DWORD g_dwSystemChangeNumber;
  19. extern DWORD g_dwSchemaChangeNumber;
  20. extern DWORD g_dwLastSchemaChangeNumber;
  21. extern DWORD g_dwMajorVersionNumber;
  22. extern DWORD g_dwMinorVersionNumber;
  23. extern HANDLE g_phEventHandles[EVENT_ARRAY_LENGTH];
  24. extern HANDLE g_hReadSaveSemaphore;
  25. extern DWORD g_dwInitialized;
  26. extern HRESULT g_hresInitWarning;
  27. extern CMDBaseData **g_ppbdDataHashTable;
  28. extern DWORD g_dwWriteNumber;
  29. extern DWORD g_dwLastSaveChangeNumber;
  30. extern BOOL g_bSaveDisallowed;
  31. extern DWORD g_dwEnableEditWhileRunning;
  32. extern ULONG g_ulHistoryMajorVersionNumber;
  33. extern DWORD g_dwEnableHistory;
  34. extern DWORD g_dwMaxHistoryFiles;
  35. extern DWORD g_dwMaxErrorFiles;
  36. extern FILETIME g_XMLSchemaFileTimeStamp;
  37. extern FILETIME g_BINSchemaFileTimeStamp;
  38. extern FILETIME g_EWRProcessedMetabaseTimeStamp;
  39. extern FILETIME g_MostRecentMetabaseFileLastWriteTimeStamp;
  40. extern ULONG g_ulMostRecentMetabaseVersion;
  41. extern CRITICAL_SECTION g_csEditWhileRunning;
  42. extern BOOL g_bSavingMetabaseFileToDisk;
  43. extern PBUFFER_CONTAINER g_pbcDataFreeBufHead;
  44. extern PBUFFER_CONTAINER g_pbcDataUsedBufHead;
  45. extern PVOID *g_ppvDataBufferBlock;
  46. extern PBUFFER_CONTAINER g_pbcDataContainerBlock;
  47. extern HANDLE g_hDataBufferSemaphore;
  48. extern BOOL g_fDataBufferCritSecInitialized;
  49. extern CRITICAL_SECTION g_csDataBufferCritSec;
  50. //
  51. // Data File
  52. //
  53. extern STR *g_strRealFileName;
  54. extern STR *g_strSchemaFileName;
  55. extern STR *g_strTempFileName;
  56. extern STR *g_strBackupFileName;
  57. extern STR *g_pstrBackupFilePath;
  58. extern PSID g_psidSystem;
  59. extern PSID g_psidAdmin;
  60. extern PACL g_paclDiscretionary;
  61. extern PSECURITY_DESCRIPTOR g_psdStorage;
  62. extern DWORD g_dwProcessAttached;
  63. extern DWORD g_dwCMDBaseObjectNextUniqueDataSetNumber;
  64. //
  65. // Global helper that has all the meta tables from IST.
  66. //
  67. extern CWriterGlobalHelper* g_pGlobalISTHelper;
  68. //
  69. // Unicode versions of strings & their lengths.
  70. // Initialized in : InitializeUnicodeGlobalDataFileValues
  71. // Set in : SetUnicodeGlobalDataFileValues
  72. // UnInitialized in: UnInitializeUnicodeGlobalDataFileValues
  73. //
  74. extern LPWSTR g_wszTempFileName;
  75. extern LPWSTR g_wszRealFileName;
  76. extern LPWSTR g_wszBackupFileName;
  77. extern LPWSTR g_wszSchemaFileName;
  78. extern LPWSTR g_wszRealFileNameWithoutPath;
  79. extern LPWSTR g_wszMetabaseDir;
  80. extern LPWSTR g_wszRealFileNameWithoutPathWithoutExtension;
  81. extern LPWSTR g_wszRealFileNameExtension;
  82. extern LPWSTR g_wszSchemaFileNameWithoutPath;
  83. extern LPWSTR g_wszSchemaFileNameWithoutPathWithoutExtension;
  84. extern LPWSTR g_wszSchemaFileNameExtension;
  85. extern LPWSTR g_wszHistoryFileDir;
  86. extern LPWSTR g_wszHistoryFileSearchString;
  87. extern LPWSTR g_wszErrorFileSearchString;
  88. extern LPWSTR g_wszSchemaExtensionFile;
  89. extern ULONG g_cchTempFileName;
  90. extern ULONG g_cchRealFileName;
  91. extern ULONG g_cchBackupFileName;
  92. extern ULONG g_cchSchemaFileName;
  93. extern ULONG g_cchRealFileNameWithoutPath;
  94. extern ULONG g_cchMetabaseDir;
  95. extern ULONG g_cchRealFileNameWithoutPathWithoutExtension;
  96. extern ULONG g_cchRealFileNameExtension;
  97. extern ULONG g_cchSchemaFileNameWithoutPath;
  98. extern ULONG g_cchSchemaFileNameWithoutPathWithoutExtension;
  99. extern ULONG g_cchSchemaFileNameExtension;
  100. extern ULONG g_cchHistoryFileDir;
  101. extern ULONG g_cchHistoryFileSearchString;
  102. extern ULONG g_cchErrorFileSearchString;
  103. extern ULONG g_cchSchemaExtensionFile;
  104. //
  105. // This is the array that holds the handle to the metabase schema and data
  106. // files. These files are locked when edit while running is disabled and
  107. // this array holds these handles. It is protected by the read/same semaphore.
  108. //
  109. typedef enum _eMetabaseFile
  110. {
  111. eMetabaseDataFile=0,
  112. eMetabaseSchemaFile,
  113. cMetabaseFileTypes
  114. }eMetabaseFile;
  115. extern HANDLE g_ahMetabaseFile[cMetabaseFileTypes];
  116. //
  117. // ListenerController is the object that controls edit while running
  118. //
  119. extern CListenerController* g_pListenerController;
  120. //
  121. // Global event logging object
  122. //
  123. extern ICatalogErrorLogger2* g_pEventLog;