Block

Each code block is identified by a SymTagBlock symbol. Block symbols are used to identify nested scopes within functions.

Properties

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

Property

Data type

Description

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_length

ULONGLONG

Number of bytes of code in the block.

IDiaSymbol::get_lexicalParent

IDiaSymbol*

Symbol of the enclosing block or function.

IDiaSymbol::get_lexicalParentId

DWORD

Returns the ID of the lexical parent symbol.

IDiaSymbol::get_locationType

DWORD

Blocks have static locations; for details, see Symbol Locations.

IDiaSymbol::get_name

BSTR

Returns the name of the block (which is usually an empty string).

IDiaSymbol::get_relativeVirtualAddress

DWORD

Returns the virtual address of this block relative to its lexical parent.

IDiaSymbol::get_symIndexId

DWORD

Index ID of symbol.

IDiaSymbol::get_symTag

DWORD

Returns SymTagBlock (one of the SymTagEnum values).

IDiaSymbol::get_virtualAddress

ULONGLONG

Returns the virtual address of this block within the executable.

See Also

Reference

Lexical Hierarchy of Symbol Types

LocationType

Symbol Locations