_get_heap_handle

Returns the handle of the heap that's used by the C run-time system.

Important

This API cannot be used in applications that execute in the Windows Runtime except in Debug builds. For more information, see CRT functions not supported with /ZW.

intptr_t _get_heap_handle( void );

Return Value

Returns the handle to the Win32 heap used by the C run-time system.

Remarks

Use this function if you want to call HeapSetInformation and enable the Low Fragmentation Heap on the CRT heap.

Requirements

Routine

Required header

_get_heap_handle

<malloc.h>

For more compatibility information, see Compatibility.

Sample

// crt_get_heap_handle.cpp
// compile with: /MT
#include <windows.h>
#include <malloc.h>
#include <stdio.h>

int main(void)
{
    intptr_t hCrtHeap = _get_heap_handle();
    ULONG ulEnableLFH = 2;
    if (HeapSetInformation((PVOID)hCrtHeap,
                           HeapCompatibilityInformation,
                           &ulEnableLFH, sizeof(ulEnableLFH)))
        puts("Enabling Low Fragmentation Heap succeeded");
    else
        puts("Enabling Low Fragmentation Heap failed");
    return 0;
}

See Also

Reference

Memory Allocation