RtlAddFunctionTable function (winnt.h)

Adds a dynamic function table to the dynamic function table list.


  [in] PRUNTIME_FUNCTION FunctionTable,
  [in] DWORD             EntryCount,
  [in] DWORD64           BaseAddress


[in] FunctionTable

A pointer to an array of function entries. For a definition of the PRUNTIME_FUNCTION type, see WinNT.h. For more information on runtime function entries, see the calling convention documentation for the processor.

[in] EntryCount

The number of entries in the FunctionTable array.

[in] BaseAddress

The base address to use when computing full virtual addresses from relative virtual addresses of function table entries.

Return value

If the function succeeds, the return value is TRUE. Otherwise, the return value is FALSE.


Function tables are used on 64-bit Windows to determine how to unwind or walk the stack. These tables are usually generated by the compiler and stored as part of the image. However, applications must provide the function table for dynamically generated code. For more information about function tables, see the architecture guide for your system.

This function is useful for code that is generated from a template or generated only once during the life of the process. For more dynamically generated code, use the RtlInstallFunctionTableCallback function.


Requirement Value
Target Platform Windows
Header winnt.h (include Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

See also