Leaked source code of windows server 2003
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.
 
 
 
 
 
 

200 lines
2.3 KiB

/*
- 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_