201 lines
2.2 KiB
C
201 lines
2.2 KiB
C
/*
|
|
- 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_
|