102 lines
1.9 KiB
C
102 lines
1.9 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1999-2000 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
RemoteDesktopDBG
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Contains Debug Routines for RD
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Tad Brockway 02/00
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef __REMOTEDESKTOPDBG_H__
|
||
|
#define __REMOTEDESKTOPDBG_H__
|
||
|
|
||
|
//
|
||
|
// Route ASSERT to TRC_ASSERT.
|
||
|
//
|
||
|
#undef ASSERT
|
||
|
#if DBG
|
||
|
#define ASSERT(expr) if (!(expr)) \
|
||
|
{ TRC_ERR((TB, L"Failure at Line %d in %s\n",__LINE__, TEXT##(__FILE__))); \
|
||
|
DebugBreak(); }
|
||
|
#else
|
||
|
#define ASSERT(expr)
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// Object and Memory Tracking Defines
|
||
|
//
|
||
|
#define GOODMEMMAGICNUMBER 0x07052530
|
||
|
#define REMOTEDESKTOPBADMEM 0xCF
|
||
|
#define UNITIALIZEDMEM 0xCC
|
||
|
#define FREEDMEMMAGICNUMBER 0x09362229
|
||
|
|
||
|
//
|
||
|
// Memory Allocation Tags
|
||
|
//
|
||
|
#define REMOTEDESKTOPOBJECT_TAG ('BOHS')
|
||
|
#define REMOTEDESKTOPGLOBAL_TAG ('BGHS')
|
||
|
|
||
|
////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// Memory Allocation Routines
|
||
|
//
|
||
|
|
||
|
#if DBG
|
||
|
//
|
||
|
// The Functions
|
||
|
//
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
void *RemoteDesktopAllocateMem(size_t size, DWORD tag);
|
||
|
void RemoteDesktopFreeMem(void *ptr);
|
||
|
void *RemoteDesktopReallocMem(void *ptr, size_t sz);
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
//
|
||
|
// The C++ Operators
|
||
|
//
|
||
|
#if defined(__cplusplus) && defined(DEBUGMEM)
|
||
|
inline void *__cdecl operator new(size_t sz)
|
||
|
{
|
||
|
void *ptr = RemoteDesktopAllocateMem(sz, REMOTEDESKTOPGLOBAL_TAG);
|
||
|
return ptr;
|
||
|
}
|
||
|
inline void *__cdecl operator new(size_t sz, DWORD tag)
|
||
|
{
|
||
|
void *ptr = RemoteDesktopAllocateMem(sz, tag);
|
||
|
return ptr;
|
||
|
}
|
||
|
inline void __cdecl operator delete(void *ptr)
|
||
|
{
|
||
|
RemoteDesktopFreeMem(ptr);
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#define ALLOCMEM(size) RemoteDesktopAllocateMem(size, REMOTEDESKTOPGLOBAL_TAG)
|
||
|
#define FREEMEM(ptr) RemoteDesktopFreeMem(ptr)
|
||
|
#define REALLOCMEM(ptr, sz) RemoteDesktopReallocMem(ptr, sz)
|
||
|
#else
|
||
|
#define ALLOCMEM(size) malloc(size)
|
||
|
#define FREEMEM(ptr) free(ptr)
|
||
|
#define REALLOCMEM(ptr, sz) realloc(ptr, sz)
|
||
|
#endif
|
||
|
|
||
|
#endif //__REMOTEDESKTOPDBG_H__
|
||
|
|
||
|
|
||
|
|