windows-nt/Source/XPSP1/NT/inetsrv/iis/staxinc/exchmem.h
2020-09-26 16:20:57 +08:00

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_