This topic has not yet been rated - Rate this topic

RtlAddFunctionTable function

Applies to: desktop apps only

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

Syntax

BOOLEAN WINAPI RtlAddFunctionTable(
  __in  PRUNTIME_FUNCTION FunctionTable,
  __in  DWORD EntryCount,
  __in  DWORD64 BaseAddress,
  __in  ULONGLONG TargetGp
);

Parameters

FunctionTable [in]

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.

EntryCount [in]

The number of entries in the FunctionTable array.

BaseAddress [in]

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

TargetGp [in]

The target global pointer. This is part of the Intel IPF calling convention. It is a pointer to a data area in an image.

This parameter does not exist on x64.

Return value

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

Remarks

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.

Requirements

Product

Windows XP Professional x64 Edition or 64-bit editions of Windows Server 2003

Header

Winnt.h (include Windows.h)

Library

Kernel32.lib

DLL

Kernel32.dll

See also

RtlDeleteFunctionTable
RtlInstallFunctionTableCallback

 

 

Send comments about this topic to Microsoft

Build date: 3/6/2012

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Wrong definition for x64
The above definition is for ia64. For x64 it is:

BOOLEAN WINAPI RtlAddFunctionTable(
__in PRUNTIME_FUNCTION FunctionTable,
__in DWORD EntryCount,
__in DWORD64 BaseAddress
);