File Index Symbol Index

/******************************************************************************** * * * HeapApi.h -- ApiSet Contract for api-ms-win-core-heap-l1 * * * * Copyright (c) Microsoft Corporation. All rights reserved. * * * ********************************************************************************/
#ifdef _MSC_VER
#pragma once
#endif // _MSC_VER
#ifndef _HEAPAPI_H_
#define _HEAPAPI_H_
#include <apiset.h>
#include <apisetcconv.h>
#include <minwindef.h>
#include <minwinbase.h>
#if _MSC_VER < 1900
#define DECLSPEC_ALLOCATOR #else
#define DECLSPEC_ALLOCATOR __declspec(allocator) #endif
#ifdef __cplusplus
extern
"C"
{
#endif
#if _MSC_VER >= 1200
#pragma warning(push) #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
//
// typdefs
//
typedef
struct
_HEAP_SUMMARY
{
DWORD
cb
;
SIZE_T
cbAllocated
;
SIZE_T
cbCommitted
;
SIZE_T
cbReserved
;
SIZE_T
cbMaxReserve
; }
HEAP_SUMMARY
, *
PHEAP_SUMMARY
;
typedef
PHEAP_SUMMARY
LPHEAP_SUMMARY
;
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
//
// Prototypes
//
_Ret_maybenull_
HANDLE
HeapCreate
( );
BOOL
HeapDestroy
( );
_Ret_maybenull_
_Post_writable_byte_size_(dwBytes)
LPVOID
HeapAlloc
( );
_Success_(return != 0)
_Ret_maybenull_
_Post_writable_byte_size_(dwBytes)
LPVOID
HeapReAlloc
( );
_Success_(return != FALSE)
BOOL
HeapFree
( );
SIZE_T
HeapSize
( );
HANDLE
GetProcessHeap
( );
SIZE_T
HeapCompact
( );
BOOL
HeapSetInformation
( );
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#pragma endregion #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
BOOL
HeapValidate
( );
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
BOOL
HeapSummary
( );
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#pragma endregion #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
DWORD
GetProcessHeaps
( );
BOOL
HeapLock
( );
BOOL
HeapUnlock
( );
BOOL
HeapWalk
( );
BOOL
HeapQueryInformation
( );
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#pragma endregion
//
// HeapSummary() is in minwinbase.w within ;beg_internal tags. Has to stay there for downlevel reasons.
//
#if _MSC_VER >= 1200
#pragma warning(pop)
#endif
#ifdef __cplusplus
}
#endif
#endif // _HEAPAPI_H_