/* - E X C H M E M . H - * Purpose: * * * Parameters: * * * Returns: * * * Copyright (C) 1995-96, Microsoft Corporation. */ #ifndef _EXCHMEM_ #define _EXCHMEM_ #ifdef __cplusplus extern "C" { #endif // Additional Heap Flags #define HEAP_NO_FREE 0x00001000 // API Function Prototypes HANDLE WINAPI ExchHeapCreate( DWORD dwFlags, DWORD dwInitialSize, DWORD dwMaxSize); BOOL WINAPI ExchHeapDestroy( HANDLE hHeap); LPVOID WINAPI ExchHeapAlloc( HANDLE hHeap, DWORD dwFlags, DWORD dwSize); LPVOID WINAPI ExchHeapReAlloc( HANDLE hHeap, DWORD dwFlags, LPVOID pvOld, DWORD dwSize); BOOL WINAPI ExchHeapFree( HANDLE hHeap, DWORD dwFlags, LPVOID pvFree); BOOL WINAPI ExchHeapLock( HANDLE hHeap); BOOL WINAPI ExchHeapUnlock( HANDLE hHeap); BOOL WINAPI ExchHeapWalk( HANDLE hHeap, LPPROCESS_HEAP_ENTRY lpEntry); BOOL WINAPI ExchHeapValidate( HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem); SIZE_T WINAPI ExchHeapSize( HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem); SIZE_T WINAPI ExchHeapCompact( HANDLE hHeap, DWORD dwFlags); HANDLE WINAPI ExchMHeapCreate( ULONG cHeaps, DWORD dwFlags, DWORD dwInitialSize, DWORD dwMaxSize); BOOL WINAPI ExchMHeapDestroy(void); LPVOID WINAPI ExchMHeapAlloc( DWORD dwSize); LPVOID WINAPI ExchMHeapAllocDebug(DWORD dwSize, char *szFileName, DWORD dwLineNumber); LPVOID WINAPI ExchMHeapReAlloc(LPVOID pvOld, DWORD dwSize); LPVOID WINAPI ExchMHeapReAllocDebug(LPVOID pvOld, DWORD dwSize, char *szFileName, DWORD dwLineNumber); BOOL WINAPI ExchMHeapFree( LPVOID pvFree); SIZE_T WINAPI ExchMHeapSize( LPVOID pvSize); LPVOID WINAPI ExchAlloc( DWORD dwSize); LPVOID WINAPI ExchReAlloc( LPVOID pvOld, DWORD dwSize); BOOL WINAPI ExchFree( LPVOID pvFree); SIZE_T WINAPI ExchSize( LPVOID pv); // // Misc. Debug functions. Available in retail and debug exchmem, but retail version is simply a stub.. // VOID WINAPI ExchmemGetCallStack(DWORD_PTR *rgdwCaller, DWORD cFind); VOID WINAPI ExchmemFormatSymbol(HANDLE hProcess, DWORD_PTR dwCaller, char rgchSymbol[], DWORD cbSymbol); DWORD WINAPI ExchmemReloadSymbols(void); #ifdef __cplusplus } #endif #endif // _EXCHMEM_