windows-nt/Source/XPSP1/NT/inetsrv/iis/svcs/iisrtl2/main.cxx

52 lines
1.4 KiB
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
#include "precomp.hxx"
#include <irtldbg.h>
#include "alloc.h"
/////////////////////////////////////////////////////////////////////////////
// Globals
// We always define these variables so that they exist in both free and
// checked versions of iisrtl2.lib
#ifndef _NO_TRACING_
#include <initguid.h>
DEFINE_GUID(IisRtlGuid,
0x784d8900, 0xaa8c, 0x11d2, 0x92, 0x5e, 0x00, 0xc0, 0x4f, 0x72, 0xd9, 0x0e);
DECLARE_DEBUG_PRINTS_OBJECT()
DECLARE_PLATFORM_TYPE()
// NOTE: Anything that is initialized in IISRTLs DLLMAIN needs to be done here
// too, the same for terminates.
extern "C" CRITICAL_SECTION g_csGuidList;
extern "C" LIST_ENTRY g_pGuidList;
extern "C" DWORD g_dwSequenceNumber;
// NOTE: It is mandatory that any program using the IISRTL2 calls the
// initialize and terminate functions below at program startup and shutdown.
extern "C" void InitializeIISRTL2()
{
InitializeCriticalSection(&g_csGuidList);
InitializeListHead(&g_pGuidList);
IisHeapInitialize();
InitializeStringFunctions();
}
extern "C" void TerminateIISRTL2()
{
IisHeapTerminate();
DeleteCriticalSection(&g_csGuidList);
}
#else
// DECLARE_DEBUG_VARIABLE();
extern "C" DWORD g_dwDebugFlags = DEBUG_ERROR;
// DECLARE_DEBUG_PRINTS_OBJECT();
extern "C" DEBUG_PRINTS* g_pDebug = NULL;
// DECLARE_PLATFORM_TYPE();
extern "C" PLATFORM_TYPE g_PlatformType = PtInvalid;
#endif