mirror of https://github.com/tongzx/nt5src
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.
57 lines
1.1 KiB
57 lines
1.1 KiB
/*++
|
|
|
|
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 );
|
|
}
|