RtlAddGrowableFunctionTable function (winnt.h)

Informs the system of a dynamic function table representing a region of memory containing code.


NTSYSAPI DWORD RtlAddGrowableFunctionTable(
  [out] PVOID             *DynamicTable,
        PRUNTIME_FUNCTION FunctionTable,
  [in]  DWORD             EntryCount,
  [in]  DWORD             MaximumEntryCount,
  [in]  ULONG_PTR         RangeBase,
  [in]  ULONG_PTR         RangeEnd


[out] DynamicTable

A pointer to a variable that receives an opaque reference to the newly-added table on success.


A pointer to a partially-filled array of RUNTIME_FUNCTION entries which provides unwind information for the region of code. The entries in this array must remain sorted in ascending order of the BeginAddress members.

[in] EntryCount

The number of entries currently populated in the function table. This value may be zero.

[in] MaximumEntryCount

The capacity of the function table.

[in] RangeBase

The beginning of the memory range described by the function table.

[in] RangeEnd

The end of the memory range described by the function table.

Return value

This function returns zero on success. (More detail).

See http://msdn.microsoft.com/en-us/library/cc704588(PROT.10).aspx for a list of NTSTATUS values.


The function table can grow as code is added to the memory region. The entries in the table must be sorted. This table is used for dispatching exceptions through runtime-generated code and for collecting stack backtraces.


Requirement Value
Minimum supported client Windows 8 [desktop apps only]
Minimum supported server Windows Server 2012 [desktop apps only]
Target Platform Windows
Header winnt.h (include Windows.h)
Library Ntdll.lib
DLL Ntdll.dll