HeapFlags Enumeration
Flags for Heap functions
Namespace: DevCase.Win32.EnumsAssembly: DevCase.net48 (in DevCase.net48.dll) Version: 6.0.0.0 (6.0)
XMLNS for XAML: Not mapped to an xmlns.
[FlagsAttribute]
public enum HeapFlags
<FlagsAttribute>
Public Enumeration HeapFlags
Dim instance As HeapFlags
[FlagsAttribute]
public enum class HeapFlags
[<FlagsAttribute>]
type HeapFlags
No code example is currently available or this language may not be supported.
None |
0 |
None
|
NoSerialize |
1 |
Serialized access will not be used for this allocation.
To ensure that serialized access is disabled for all calls to this function,
specify NoSerialize in the call to HeapCreate(HeapFlags, UInt32, UInt32).
In this case, it is not necessary to additionally specify NoSerialize in this function call.
This value should not be specified when accessing the process's default heap.
The system may create additional threads within the application's process,
such as a CTRL+C handler, that simultaneously access the process's default heap.
|
Growable |
2 |
Specifies that the heap is growable.
Must be specified if HeapBase is NULL.
|
GenerateExceptions |
4 |
The system will raise an exception to indicate a function failure,
such as an out-of-memory condition, instead of returning NULL.
To ensure that exceptions are generated for all calls to this function,
specify GenerateExceptions in the call to HeapCreate(HeapFlags, UInt32, UInt32).
In this case, it is not necessary to additionally specify GenerateExceptions in this function call.
|
ZeroMemory |
8 |
The allocated memory will be initialized to zero.
Otherwise, the memory is not initialized to zero.
|
ReAllocInPlaceOnly |
16 |
There can be no movement when reallocating a memory block.
If this value is not specified, the function may move the block to a new location.
If this value is specified and the block cannot be resized without moving,
the function fails, leaving the original memory block unchanged.
|
TagShift |
18 |
( NOT DOCUMENTED )
|
TailCheckingEnabled |
32 |
( NOT DOCUMENTED )
|
FreeCheckingEnabled |
64 |
( NOT DOCUMENTED )
|
DisableCoalesceOnFree |
128 |
( NOT DOCUMENTED )
|
CreateSegmentHeap |
256 |
( NOT DOCUMENTED )
|
CreateHardened |
512 |
( NOT DOCUMENTED )
|
MaximumTag |
4,095 |
( NOT DOCUMENTED )
|
PseudoTagFlag |
32,768 |
( NOT DOCUMENTED )
|
CreateAlign16 |
65,536 |
( NOT DOCUMENTED )
|
CreateEnableTracing |
131,072 |
( NOT DOCUMENTED )
|
CreateEnableExecute |
262,144 |
All memory blocks that are allocated from this heap allow code execution,
if the hardware enforces data execution prevention.
Use this flag heap in applications that run code from the heap.
If CreateEnableExecute is not specified and an
application attempts to run code from a protected page,
the application receives an exception with the status code STATUS_ACCESS_VIOLATION.
|