windows-nt/Source/XPSP1/NT/admin/wmi/wbem/winmgmt/wbemcomn/localloc.cpp

58 lines
1.1 KiB
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (C) 1996-2001 Microsoft Corporation
Module Name:
Abstract:
History:
--*/
#include "precomp.h"
#include "arena.h"
//
// this obj is only linked into the dll version of wbemcomn. components
// that use that static version will define their own localloc.
//
static class WbemComnInitializer
{
public:
WbemComnInitializer()
{
HANDLE hHeap;
hHeap = HeapCreate( 0, // will not use exceptions and will serialize
0x100000, // init size of 1Meg
0 ); // no max size
if (hHeap == 0)
return; // Arena remains uninitialized and properly returns errors later on
if ( CWin32DefaultArena::WbemHeapInitialize( hHeap ) == FALSE )
{
HeapDestroy ( hHeap );
}
}
~WbemComnInitializer()
{
CWin32DefaultArena::WbemHeapFree(); // This destroys the heap
}
} g_WbemComnInitializer;
void* __cdecl operator new ( size_t size )
{
return CWin32DefaultArena::WbemMemAlloc( size );
}
void __cdecl operator delete ( void* pv )
{
CWin32DefaultArena::WbemMemFree( pv );
}