Debugging Tools for Windows

GetFunctionEntryByOffset

The GetFunctionEntryByOffset method returns the function entry information for a function.

HRESULT
  IDebugSymbols3::GetFunctionEntryByOffset(
    IN ULONG64  Offset,
    IN ULONG  Flags,
    OUT OPTIONAL PVOID  Buffer,
    IN ULONG  BufferSize,
    OUT OPTIONAL PULONG  BufferNeeded
    );

Parameters

Offset
Specifies a location in the current process's virtual address space of the function's implementation. This is the value returned in the Offset parameter of GetNextSymbolMatch and IDebugSymbolGroup::GetSymbolOffset, and the value of the Offset field in the DEBUG_SYMBOL_ENTRY structure.
Flags
Specifies a bit-flag which alters the behavior of this method. If the bit DEBUG_GETFNENT_RAW_ENTRY_ONLY is not set, the engine will provide artificial entries for well known cases. If this bit is set the artificial entries are not used.
Buffer
Receives the function entry information. If the effective processor is an x86, this is the FPO_DATA structure for the function. For all other architectures, this is the IMAGE_FUNCTION_ENTRY structure for that architecture.
BufferSize
Specifies the size of the buffer Buffer.
BufferNeeded
Specifies the size of the function entry information.

Return Value

S_OK
The method was successful.
S_FALSE
The method was successful, but the buffer was not large enough to hold the function entry information and so the information was truncated to fit.
E_NOINTERFACE
No function entry information was found for the location Offset.

This method may also return error values. See Return Values for more details.

Interface Version

GetFunctionEntryByOffset is available in IDebugSymbols3 and later versions.

Comments

The structures FPO_DATA and IMAGE_FUNCTION_ENTRY are documented in "Image Help Library" which is included in Debugging Tools For Windows in the DbgHelp.chm file.

Note  The functions in "Image Help Library" and "Debug Help Library", documented in DbgHelp.chm, should not be called by any extension or debugger engine application.

For more information about symbols, see Symbols.

Requirements

Headers: Defined in Dbgeng.h. Include Dbgeng.h. FPO_DATA and IMAGE_FUNCTION_ENTRY are defined in Winnt.h.

See Also

GetNextSymbolMatch, IDebugSymbolGroup::GetSymbolOffset, DEBUG_SYMBOL_ENTRY

Build machine: CAPEBUILD