每个函数由 SymTagFunction 符号标识。
属性
下表显示了对此符号类型有效的属性。
| 属性 | 数据类型 | 说明 |
|---|---|---|
| IDiaSymbol::get_access | DWORD |
如果函数是成员函数,则为 CV_access_e 枚举的值之一。 |
| IDiaSymbol::get_addressOffset | DWORD |
位置的偏移部分;有关详细信息,请参阅 LocationType Enumeration。 |
| IDiaSymbol::get_addressSection | DWORD |
位置的节部分;有关详细信息,请参阅 LocationType 枚举。 |
| IDiaSymbol::get_classParent | IDiaSymbol* |
如果函数是成员函数,则为类的符号。 |
| IDiaSymbol::get_classParentId | DWORD |
类父符号的 ID。 |
| IDiaSymbol::get_constType | BOOL |
如果函数标记为常数,则为 TRUE。 |
| IDiaSymbol::get_customCallingConvention | BOOL |
TRUE 如果函数使用自定义调用约定(仅在调试接口访问 (DIA) SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_farReturn | BOOL |
如果函数执行远返回,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_hasAlloca | BOOL |
如果函数使用分配的内存函数,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_hasEH | BOOL |
如果函数包含 C++ 样式异常处理,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_hasEHa | BOOL |
如果函数包含异步异常处理,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_hasInlAsm | BOOL |
如果函数包含内联程序集,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_hasLongJump | BOOL |
如果函数包含 longjmp 调用,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_hasSecurityChecks | BOOL |
如果函数包含安全性检查,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_hasSEH | BOOL |
如果函数包含 Win32 样式结构化异常处理,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_hasSetJump | BOOL |
如果函数包含 setjmp 调用,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_interruptReturn | BOOL |
如果函数包含从中断返回,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_intro | BOOL |
如果函数是简介虚拟,则为 TRUE。 |
| IDiaSymbol::get_InlSpec | BOOL |
TRUE 如果函数已被标记有其中 inline, __inline, __forceinline 一个属性, |
| IDiaSymbol::get_isNaked | BOOL |
如果函数被标记为 naked 属性,则为 TRUE(仅在 DIA SDK v8.0 或更高版本中)。 |
| IDiaSymbol::get_isStatic | BOOL |
如果函数是静态的,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_length | ULONGLONG |
函数代码的字节数,从位置开始。 |
| IDiaSymbol::get_lexicalParent | IDiaSymbol* |
封闭编译单位的符号。 |
| IDiaSymbol::get_lexicalParentId | DWORD |
词法父级符号的 ID。 |
| IDiaSymbol::get_locationType | DWORD |
函数具有静态位置或元数据位置;有关详细信息,请参阅符号位置。 |
| IDiaSymbol::get_name | BSTR |
函数的名称。 |
| IDiaSymbol::get_noInline | BOOL |
如果函数不是内联函数,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_notReached | BOOL |
如果函数不可访问,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_noReturn | BOOL |
如果函数不返回值,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_noStackOrdering | BOOL |
如果函数使用缓冲安全性检查编译,但不能执行任何堆叠顺序,则为 TRUE。 |
| IDiaSymbol::get_optimizedCodeDebugInfo | BOOL |
如果该代码具有优化代码的调试信息,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。 |
| IDiaSymbol::get_pure | BOOL |
如果函数是纯虚拟函数,则为 TRUE。 |
| IDiaSymbol::get_relativeVirtualAddress | DWORD |
此函数在其模块中的相对位置。 |
| IDiaSymbol::get_symIndexId | DWORD |
符号的索引 ID。 |
| IDiaSymbol::get_symTag | DWORD |
返回 SymTagFunction(SymTagEnum 枚举值之一)。 |
| IDiaSymbol::get_token | DWORD |
函数的元数据标记。 |
| IDiaSymbol::get_type | IDiaSymbol* |
函数签名的符号。 |
| IDiaSymbol::get_typeId | DWORD |
类型符号 ID。 |
| IDiaSymbol::get_unalignedType | BOOL |
如果函数未对齐,则为 TRUE。 |
| IDiaSymbol::get_undecoratedName | BSTR |
函数名称的未修饰表单(仅在 DIA SDK v8.0 或更高版本中) |
| IDiaSymbol::get_undecoratedNameEx | BSTR |
函数名称的未修饰表单的一部分或全部(仅在 DIA SDK v8.0 或更高版本中)。 |
| IDiaSymbol::get_virtual | BOOL |
如果是虚拟函数,则为 TRUE。 |
| IDiaSymbol::get_virtualAddress | ULONGLONG |
此函数在可执行映像中的位置。 |
| IDiaSymbol::get_virtualBaseOffset | DWORD |
如果是虚拟函数,则为虚拟函数表中的偏移量。 |
| IDiaSymbol::get_volatileType | BOOL |
如果函数被标记为可变,则为 TRUE。 |