PSYMBOL_FUNCENTRY_CALLBACK callback function (dbghelp.h)

An application-defined callback function used with the SymRegisterFunctionEntryCallback64 function. It is called by the stack walking procedure.

The PSYMBOL_FUNCENTRY_CALLBACK64 type defines a pointer to this callback function. SymRegisterFunctionEntryCallbackProc64 is a placeholder for the application-defined function name.

Syntax

PSYMBOL_FUNCENTRY_CALLBACK PsymbolFuncentryCallback;

PVOID PsymbolFuncentryCallback(
  [in]           HANDLE hProcess,
  [in]           DWORD AddrBase,
  [in, optional] PVOID UserContext
)
{...}

Parameters

[in] hProcess

A handle to the process that was originally passed to the StackWalk64 function.

[in] AddrBase

The address of an instruction for which the callback function should return a function table entry.

[in, optional] UserContext

The user-defined value specified in SymRegisterFunctionEntryCallback64, or NULL. Typically, this parameter is used by an application to pass a pointer to a data structure that lets the callback function establish some context.

Return value

Return the value NULL if no function table entry is available.

On success, return a pointer to an IMAGE_RUNTIME_FUNCTION_ENTRY structure. Refer to the header file WinNT.h for the definition of this function.

Remarks

The structure must be returned in exactly the form it exists in the process being debugged. Some members may be pointers to other locations in the process address space. The ReadProcessMemoryProc64 callback function may be called to retrieve the information at these locations.

The calling application gets called through the registered callback function as a result of a call to the StackWalk64 function. The calling application must be prepared for the possible side effects that this can cause. If the application has only one callback function that is being used by multiple threads, then it may be necessary to synchronize some types of data access while in the context of the callback function.

This function is similar to the FunctionTableAccessProc64 callback function. The difference is that FunctionTableAccessProc64 returns an IMAGE_FUNCTION_ENTRY structure, while this function returns an IMAGE_RUNTIME_FUNCTION_ENTRY structure.

This callback function supersedes the PSYMBOL_FUNCENTRY_CALLBACK callback function. PSYMBOL_FUNCENTRY_CALLBACK is defined as follows in Dbghelp.h.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define PSYMBOL_FUNCENTRY_CALLBACK PSYMBOL_FUNCENTRY_CALLBACK64
#endif

typedef
PVOID
(CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK)(
    __in HANDLE hProcess,
    __in DWORD AddrBase,
    __in_opt PVOID UserContext
    );

Requirements

Requirement Value
Target Platform Windows
Header dbghelp.h
Redistributable DbgHelp.dll 5.1 or later

See also

DbgHelp Functions

SymRegisterFunctionEntryCallback64