DYNAMIC_FUNCTION_TABLE structure
The DYNAMIC_FUNCTION_TABLE structure is an entry in a linked list which is used by a debugger to discover all of the dynamic function tables in a target process. The root node in this linked list is returned from RtlGetFunctionTableListHead
Syntax
typedef struct _DYNAMIC_FUNCTION_TABLE {
LIST_ENTRY ListEntry;
PRUNTIME_FUNCTION FunctionTable;
LARGE_INTEGER Reserved1;
ULONG64 MinimumAddress;
ULONG64 MaximumAddress;
ULONG64 BaseAddress;
PVOID Reserved2[2];
PWSTR OutOfProcessCallbackDll;
FUNCTION_TABLE_TYPE Type;
ULONG EntryCount;
} DYNAMIC_FUNCTION_TABLE, * PDYNAMIC_FUNCTION_TABLE;
Members
ListEntry
LIST_ENTRY structure used to point at next and previous entries in the list.
FunctionTable
For function tables which are not RF_CALLBACK
, this points at an array of RUNTIME_FUNCTION structures.
Reserved1
Reserved.
MinimumAddress
Smallest instruction address described by this table.
MaximumAddress
Largest instruction address described by this table.
BaseAddress
The base address to use when computing full virtual addresses from relative virtual addresses of function table entries.
Reserved2
Reserved.
OutOfProcessCallbackDll
For function tables which are RF_CALLBACK
, this contains an optional pointer to a string that specifies the path of a DLL that provides function table entries from outside of the target process.
When a debugger unwinds to a function in the range of addresses managed by the callback function, it loads this DLL and calls the OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME function, whose type is POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK.
Type
A member of the FUNCTION_TABLE_TYPE enumeration.
EntryCount
The number of entries in the FunctionTable
array.
Remarks
This struct has no associated import library or header file. The structure may be changed or removed from Windows without further notice.