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.
 
 
 
 
 
 

111 lines
1.8 KiB

/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
mpheap.h
Abstract:
Public header file for MP heap package
Author:
John Vert (jvert) 10-Jul-1995
Revision History:
--*/
//
// Valid heap creation options
//
#define MPHEAP_GROWABLE HEAP_GROWABLE
#define MPHEAP_REALLOC_IN_PLACE_ONLY HEAP_REALLOC_IN_PLACE_ONLY
#define MPHEAP_TAIL_CHECKING_ENABLED HEAP_TAIL_CHECKING_ENABLED
#define MPHEAP_FREE_CHECKING_ENABLED HEAP_FREE_CHECKING_ENABLED
#define MPHEAP_DISABLE_COALESCE_ON_FREE HEAP_DISABLE_COALESCE_ON_FREE
#define MPHEAP_ZERO_MEMORY HEAP_ZERO_MEMORY
#define MPHEAP_COLLECT_STATS 0x10000000
HANDLE
WINAPI
MpHeapCreate(
DWORD flOptions,
DWORD dwInitialSize,
DWORD dwParallelism
);
BOOL
WINAPI
MpHeapDestroy(
HANDLE hMpHeap
);
BOOL
WINAPI
MpHeapValidate(
HANDLE hMpHeap,
LPVOID lpMem
);
SIZE_T
WINAPI
MpHeapCompact(
HANDLE hMpHeap
);
LPVOID
WINAPI
MpHeapAlloc(
HANDLE hMpHeap,
DWORD flOptions,
DWORD dwBytes
);
LPVOID
WINAPI
MpHeapReAlloc(
HANDLE hMpHeap,
LPVOID lpMem,
DWORD dwBytes
);
BOOL
WINAPI
MpHeapFree(
HANDLE hMpHeap,
LPVOID lpMem
);
SIZE_T
WINAPI
MpHeapSize(
HANDLE hMpHeap,
DWORD ulFlags,
LPVOID lpMem
);
//
// Statistics structure
//
typedef struct _MPHEAP_STATISTICS {
DWORD Contention;
DWORD TotalAllocates;
DWORD TotalFrees;
DWORD LookasideAllocates;
DWORD LookasideFrees;
DWORD DelayedFrees;
} MPHEAP_STATISTICS, *LPMPHEAP_STATISTICS;
DWORD
MpHeapGetStatistics(
HANDLE hMpHeap,
LPDWORD lpdwSize,
MPHEAP_STATISTICS Statistics[]
);
//
// TLS index for exchmem heap selection
//
extern DWORD tlsiHeapHint;