2025-04-27 07:49:33 -04:00

109 lines
2.1 KiB
C++

/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
globals.cxx
Abstract:
IIS MetaBase global variables
Author:
Michael W. Thomas 31-May-96
Revision History:
--*/
#include <mdcommon.hxx>
//
// Access to global data structures is synchronized by
// acquiring g_rMasterResource with read or write
// permission.
//
CMDCOMSrvFactory *g_pFactory = NULL;
ULONG g_dwRefCount = 0;
CMDBaseObject *g_pboMasterRoot;
TS_RESOURCE *g_rMasterResource;
TS_RESOURCE *g_rSinkResource;
CMDHandle *g_phHandleHead;
METADATA_HANDLE g_mhHandleIdentifier;
DWORD g_dwSystemChangeNumber = 0;
DWORD g_dwMajorVersionNumber = MD_MAJOR_VERSION_NUMBER;
DWORD g_dwMinorVersionNumber = MD_MINOR_VERSION_NUMBER;
HANDLE g_phEventHandles[EVENT_ARRAY_LENGTH];
HANDLE g_hReadSaveSemaphore;
DWORD g_dwInitialized = 0;
HRESULT g_hresInitWarning = ERROR_SUCCESS;
CMDBaseData **g_ppbdDataHashTable;
DWORD g_dwWriteNumber;
DWORD g_dwLastSaveChangeNumber;
BOOL g_bSaveDisallowed;
//
// Data Buffer
// Access to these is synchronized via
// g_csDataBufferCritSec
//
PBUFFER_CONTAINER g_pbcDataFreeBufHead;
PBUFFER_CONTAINER g_pbcDataUsedBufHead;
PVOID *g_ppvDataBufferBlock;
PBUFFER_CONTAINER g_pbcDataContainerBlock;
HANDLE g_hDataBufferSemaphore;
CRITICAL_SECTION g_csDataBufferCritSec;
//
// Data File
//
STR *g_strRealFileName;
STR *g_strTempFileName;
STR *g_strBackupFileName;
STR *g_pstrBackupFilePath;
PSID g_psidSystem;
PSID g_psidAdmin;
PACL g_paclDiscretionary;
PSECURITY_DESCRIPTOR g_psdStorage;
//
// Debugging stuff
//
DECLARE_DEBUG_VARIABLE();
DECLARE_DEBUG_PRINTS_OBJECT();
DWORD g_dwProcessAttached = 0;
DWORD g_dwCMDBaseObjectNextUniqueDataSetNumber = 1;