Function (Debug Interface Access SDK)

Each function is identified by a SymTagFunction symbol.

Properties

The following table shows the properties that are valid for this symbol type.

Property

Data type

Description

IDiaSymbol::get_access

DWORD

One of the values of the CV_access_e, if the function is a member function.

IDiaSymbol::get_addressOffset

DWORD

Offset part of location; for details, see the LocationType.

IDiaSymbol::get_addressSection

DWORD

Section part of location; for details, see the LocationType.

IDiaSymbol::get_classParent

IDiaSymbol*

Symbol for the class, if the function is a member function.

IDiaSymbol::get_classParentId

DWORD

ID of the class parent symbol.

IDiaSymbol::get_constType

BOOL

TRUE if the function is marked as a constant.

IDiaSymbol::get_customCallingConvention

BOOL

TRUE if the function uses a custom calling convention (only in DIA SDK V8.0 or later).

IDiaSymbol::get_farReturn

BOOL

TRUE if the function performs a far return (only in DIA SDK V8.0 or later).

IDiaSymbol::get_hasAlloca

BOOL

TRUE if the function uses allocated memory function (only uinnder DIA SDK V8.0 or later).

IDiaSymbol::get_hasEH

BOOL

TRUE if the function contains C++-style exception handling (only in DIA SDK V8.0 or later).

IDiaSymbol::get_hasEHa

BOOL

TRUE if the function contains asynchronous exception handling (only in DIA SDK V8.0 or later).

IDiaSymbol::get_hasInlAsm

BOOL

TRUE if the function contains inline assembly (only in DIA SDK V8.0 or later).

IDiaSymbol::get_hasLongJump

BOOL

TRUE if the function contains a longjmp call (only in DIA SDK V8.0 or later).

IDiaSymbol::get_hasSecurityChecks

BOOL

TRUE if the function contains security checks (only in DIA SDK V8.0 or later).

IDiaSymbol::get_hasSEH

BOOL

TRUE if the function contains Win32-style structured exception handling (only in DIA SDK V8.0 or later).

IDiaSymbol::get_hasSetJump

BOOL

TRUE if the function contains a setjmp call (only in DIA SDK V8.0 or later).

IDiaSymbol::get_interruptReturn

BOOL

TRUE if the function has a return from interrupt (only in DIA SDK V8.0 or later).

IDiaSymbol::get_intro

BOOL

TRUE if a function is intro virtual.

IDiaSymbol::get_InlSpec

BOOL

TRUE if the function has been marked with one of the inline, __inline, __forceinline attributes.

IDiaSymbol::get_isNaked

BOOL

TRUE if the function is marked with the naked (C++) attribute (only in DIA SDK V8.0 or later).

IDiaSymbol::get_isStatic

BOOL

TRUE if the function is static (only in DIA SDK V8.0 or later).

IDiaSymbol::get_length

ULONGLONG

Number of bytes of function code, starting from location.

IDiaSymbol::get_lexicalParent

IDiaSymbol*

Symbol of the enclosing compiland.

IDiaSymbol::get_lexicalParentId

DWORD

ID of the lexical parent symbol.

IDiaSymbol::get_locationType

DWORD

Functions can have static or metadata locations; for details, see Symbol Locations.

IDiaSymbol::get_name

BSTR

Name of the function.

IDiaSymbol::get_noInline

BOOL

TRUE if the function is not an inline function (only n DIA SDK V8.0 or later).

IDiaSymbol::get_notReached

BOOL

TRUE if the function is not reachable (only in DIA SDK V8.0 or later).

IDiaSymbol::get_noReturn

BOOL

TRUE if the function does not return a value (only in DIA SDK V8.0 or later).

IDiaSymbol::get_noStackOrdering

BOOL

TRUE if the function was compiled with buffer security checks but no stack ordering could be done.

IDiaSymbol::get_optimizedCodeDebugInfo

BOOL

TRUE if the code has debug information for optimized code (only in DIA SDK V8.0 or later).

IDiaSymbol::get_pure

BOOL

TRUE if function is pure virtual.

IDiaSymbol::get_relativeVirtualAddress

DWORD

Relative position of this function within its module.

IDiaSymbol::get_symIndexId

DWORD

Index ID of symbol.

IDiaSymbol::get_symTag

DWORD

Returns SymTagFunction (one of the SymTagEnum values).

IDiaSymbol::get_token

DWORD

Metadata token for the function.

IDiaSymbol::get_type

IDiaSymbol*

Symbol for the function signature.

IDiaSymbol::get_typeId

DWORD

ID of the type symbol.

IDiaSymbol::get_unalignedType

BOOL

TRUE if the function is unaligned.

IDiaSymbol::get_undecoratedName

BSTR

The undecorated form of the function name (only in DIA SDK v8.0 or later)

IDiaSymbol::get_undecoratedNameEx

BSTR

Part or all of the undecorated form of the function name (only in DIA SDK v8.0 or later).

IDiaSymbol::get_virtual

BOOL

TRUE if a virtual function.

IDiaSymbol::get_virtualAddress

ULONGLONG

Position of this function within the executable image.

IDiaSymbol::get_virtualBaseOffset

DWORD

If a virtual function, then the offset in the virtual function table.

IDiaSymbol::get_volatileType

BOOL

TRUE if the function is marked as volatile.

See Also

Reference

CV_access_e

Lexical Hierarchy of Symbol Types

LocationType

Symbol Locations