IDiaSymbol
Описывает свойства экземпляра символов.
Синтаксис
IDiaSymbol : IUnknown
Методы в алфавитном порядке
В следующей таблице показаны методы IDiaSymbol
.
Примечание.
Символы возвращают значимые данные только для некоторых из этих методов в зависимости от типа символа. Если метод возвращается S_OK
, этот метод вернул значимые данные.
Метод | Description |
---|---|
IDiaSymbol::findChildren |
Извлекает все дочерние элементы символа. |
IDiaSymbol::findChildrenEx |
Извлекает дочерние элементы символа. Этот метод является расширенной версией IDiaSymbol::findChildren. |
IDiaSymbol::findChildrenExByAddr |
Извлекает дочерние элементы символа, допустимые по указанному адресу. |
IDiaSymbol::findChildrenExByRVA |
Извлекает дочерние элементы символа, допустимые по указанному относительному виртуальному адресу (RVA). |
IDiaSymbol::findChildrenExByVA |
Извлекает дочерние элементы символа, допустимые по указанному виртуальному адресу. |
IDiaSymbol::findInlineeLines |
Извлекает перечисление, позволяющее клиенту выполнять итерацию по номеру строки всех функций, которые встраиваются прямо или косвенно в этот символ. |
IDiaSymbol::findInlineeLinesByAddr |
Извлекает перечисление, позволяющее клиенту выполнять итерацию по номеру строки всех функций, которые встраиваются прямо или косвенно в этот символ в пределах указанного диапазона адресов. |
IDiaSymbol::findInlineeLinesByRVA |
Извлекает перечисление, позволяющее клиенту выполнять итерацию по номеру строки всех функций, которые встраиваются напрямую или косвенно в этот символ в пределах указанного относительного виртуального адреса (RVA). |
IDiaSymbol::findInlineeLinesByVA |
Извлекает перечисление, позволяющее клиенту выполнять итерацию по номеру строки всех функций, которые встраиваются напрямую или косвенно в этот символ в пределах указанного виртуального адреса (VA). |
IDiaSymbol::findInlineFramesByAddr |
Извлекает перечисление, позволяющее клиенту выполнять итерацию по всем встроенным кадрам в заданном адресе. |
IDiaSymbol::findInlineFramesByRVA |
Извлекает перечисление, позволяющее клиенту выполнять итерацию по всем встроенным кадрам на указанном относительном виртуальном адресе (RVA). |
IDiaSymbol::findInlineFramesByVA |
Извлекает перечисление, позволяющее клиенту выполнять итерацию по всем встроенным кадрам на указанном виртуальном адресе (VA). |
IDiaSymbol::findInputAssemblyFile |
Извлекает входной файл сборки .NET Native, который является родительским элементом символа. |
IDiaSymbol::findSymbolsByRVAForAcceleratorPointerTag |
Учитывая соответствующее значение тега, этот метод возвращает перечисление символов, содержащихся в этой функции заглушки по указанному относительному виртуальному адресу. |
IDiaSymbol::findSymbolsForAcceleratorPointerTag |
Возвращает количество тегов указателя акселератора в заглушку C++ AMP. |
IDiaSymbol::get_acceleratorPointerTags |
Возвращает все значения тегов указателя ускорителя, соответствующие заглушку акселератора C++ AMP. |
IDiaSymbol::get_access |
Извлекает модификатор доступа члена класса. |
IDiaSymbol::get_addressOffset |
Извлекает часть смещения расположения адреса. |
IDiaSymbol::get_addressSection |
Извлекает часть раздела расположения адреса. |
IDiaSymbol::get_addressTaken |
Извлекает флаг, указывающий, ссылается ли другой символ на этот адрес. |
IDiaSymbol::get_age |
Извлекает значение возраста базы данных программы. |
IDiaSymbol::get_arrayIndexType |
Извлекает идентификатор символа типа индекса массива. |
IDiaSymbol::get_arrayIndexTypeId |
Извлекает идентификатор типа индекса массива символа. |
IDiaSymbol::get_backEndBuild |
Извлекает внутренний номер сборки. |
IDiaSymbol::get_backEndMajor |
Извлекает номер основной версии внутреннего сервера. |
IDiaSymbol::get_backEndMinor |
Извлекает дополнительный номер версии внутреннего сервера. |
IDiaSymbol::get_backEndQFE |
Извлекает внутренний номер qfe. |
IDiaSymbol::get_baseDataOffset |
Извлекает смещение базовых данных. |
IDiaSymbol::get_baseDataSlot |
Извлекает базовый слот данных. |
IDiaSymbol::get_baseSymbol |
Извлекает символ, из которого основан указатель. |
IDiaSymbol::get_baseSymbolId |
Извлекает идентификатор символа, из которого основан указатель. |
IDiaSymbol::get_baseType |
Извлекает тег типа простого типа. |
IDiaSymbol::get_bindID |
Извлекает индекс регистра привязки. |
IDiaSymbol::get_bindSlot |
Извлекает нижнюю границу в пространстве привязки. |
IDiaSymbol::get_bindSpace |
Извлекает пространство привязки. |
IDiaSymbol::get_bitPosition |
Извлекает битовое положение расположения. |
IDiaSymbol::get_builtInKind |
Извлекает встроенный тип типа HLSL. |
IDiaSymbol::get_callingConvention |
Возвращает индикатор соглашения о вызове метода. |
IDiaSymbol::get_characteristics |
Извлекает характеристики этого раздела COFF. |
IDiaSymbol::get_classParent |
Извлекает ссылку на родительский элемент класса символа. |
IDiaSymbol::get_classParentId |
Извлекает родительский идентификатор класса символа. |
IDiaSymbol::get_code |
Извлекает флаг, указывающий, ссылается ли символ на адрес кода. |
IDiaSymbol::get_coffGroup |
Извлекает символ группы COFF, из которого поступает этот символ. |
IDiaSymbol::get_compilerGenerated |
Извлекает флаг, указывающий, был ли символ создан компилятором. |
IDiaSymbol::get_compilerName |
Извлекает имя компилятора, используемого для создания компилятора. |
IDiaSymbol::get_constantExport |
Извлекает флаг, указывающий, является ли этот экспорт константой. |
IDiaSymbol::get_constructor |
Извлекает флаг, указывающий, имеет ли определяемый пользователем тип данных конструктор. |
IDiaSymbol::get_constType |
Извлекает флаг, указывающий, является ли определяемый пользователем тип данных константой. |
IDiaSymbol::get_container |
Извлекает содержащий символ этого символа. |
IDiaSymbol::get_count |
Извлекает количество элементов в списке или массиве. |
IDiaSymbol::get_countLiveRanges |
Извлекает количество допустимых диапазонов адресов, связанных с локальным символом. |
IDiaSymbol::get_customCallingConvention |
Извлекает флаг, указывающий, использует ли функция настраиваемое соглашение о вызовах. |
IDiaSymbol::get_dataBytes |
Извлекает байты данных символа OEM. |
IDiaSymbol::get_dataExport |
Извлекает флаг, указывающий, является ли этот экспорт данными. |
IDiaSymbol::get_dataKind |
Извлекает классификацию переменных символа данных. |
IDiaSymbol::get_editAndContinueEnabled |
Извлекает флаг, описывающий функции скомпилированной программы или единицы редактирования и продолжения. |
IDiaSymbol::get_exceptionHandlerAddressOffset |
Извлекает смещение раздела обработчика исключений. |
IDiaSymbol::get_exceptionHandlerAddressSection |
Извлекает номер раздела обработчика исключений. |
IDiaSymbol::get_exceptionHandlerRelativeVirtualAddress |
Извлекает относительный виртуальный адрес обработчика исключений. |
IDiaSymbol::get_exceptionHandlerVirtualAddress |
Извлекает виртуальный адрес обработчика исключений. |
IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal |
Извлекает флаг, указывающий, имеет ли этот экспорт порядковый номер явным образом. |
IDiaSymbol::get_exportIsForwarder |
Извлекает флаг, указывающий, является ли этот экспорт сервером пересылки. |
IDiaSymbol::get_farReturn |
Извлекает флаг, указывающий, использует ли функция далекое возвращение. |
IDiaSymbol::get_finalLiveStaticSize |
Извлекает окончательный статический размер динамической функции после встраивание. |
IDiaSymbol::get_framePointerPresent |
Извлекает флаг, указывающий, имеет ли эта функция указатель кадра. |
IDiaSymbol::get_frameSize |
Извлекает размер кадра. |
IDiaSymbol::get_frontEndBuild |
Извлекает номер сборки внешнего интерфейса. |
IDiaSymbol::get_frontEndMajor |
Извлекает номер основной версии переднего плана. |
IDiaSymbol::get_frontEndMinor |
Извлекает дополнительный номер версии внешнего интерфейса. |
IDiaSymbol::get_frontEndQFE |
Извлекает номер версии QFE внешнего интерфейса. |
IDiaSymbol::get_function |
Извлекает флаг, указывающий, относится ли открытый символ к функции. |
IDiaSymbol::get_guid |
Извлекает GUID символа. |
IDiaSymbol::get_hasAlloca |
Извлекает флаг, указывающий, содержит ли функция вызов alloca . |
IDiaSymbol::get_hasAssignmentOperator |
Извлекает флаг, указывающий, определен ли определяемый пользователем тип данных какие-либо операторы назначения. |
IDiaSymbol::get_hasCastOperator |
Извлекает флаг, указывающий, определен ли определяемый пользователем тип данных какие-либо операторы приведения. |
IDiaSymbol::get_hasControlFlowCheck |
Извлекает флаг, указывающий, содержит ли эта функция проверки потока управления. |
IDiaSymbol::get_hasDebugInfo |
Извлекает флаг, указывающий, содержит ли компилятор любые сведения об отладке. |
IDiaSymbol::get_hasEH |
Извлекает флаг, указывающий, имеет ли функция обработчик исключений в стиле C++. |
IDiaSymbol::get_hasEHa |
Извлекает флаг, указывающий, имеет ли функция асинхронный обработчик исключений. |
IDiaSymbol::get_hasInlAsm |
Извлекает флаг, указывающий, имеет ли функция встроенную сборку. |
IDiaSymbol::get_hasLongJump |
Извлекает флаг, указывающий, содержит ли функция команду longjmp (часть обработки исключений в стиле C). |
IDiaSymbol::get_hasManagedCode |
Извлекает флаг, указывающий, содержит ли модуль управляемый код. |
IDiaSymbol::get_hasNestedTypes |
Извлекает флаг, указывающий, имеет ли определяемый пользователем тип данных определения вложенных типов. |
IDiaSymbol::get_hasSecurityChecks |
Извлекает флаг, указывающий, имеет ли функция или компилятор скомпилированные проверки безопасности (с помощью переключателя компилятора /GS (проверка безопасности буфера). |
IDiaSymbol::get_hasSEH |
Извлекает флаг, указывающий, имеет ли функция структурированную обработку исключений в стиле Win32. |
IDiaSymbol::get_hasSetJump |
Извлекает флаг, указывающий, содержит ли функция команду setjmp. |
IDiaSymbol::get_hasValidPGOCounts |
Извлекает флаг, указывающий, имеют ли эти символы допустимые числа PGO. |
IDiaSymbol::get_hfaDouble |
Извлекает флаг, указывающий, содержит ли определяемый пользователем тип (UDT) однородные статистические данные с плавающей запятой (HFA) типа double. |
IDiaSymbol::get_hfaFloat |
Извлекает флаг, указывающий, содержит ли определяемый пользователем тип (UDT) однородные статистические данные с плавающей запятой (HFA). |
IDiaSymbol::get_indirectVirtualBaseClass |
Извлекает флаг, указывающий, является ли определяемый пользователем тип данных косвенным виртуальным базовым классом. |
IDiaSymbol::get_InlSpec |
Извлекает флаг, указывающий, помечена ли функция встроенным атрибутом. |
IDiaSymbol::get_interruptReturn |
Извлекает флаг, указывающий, имеет ли функция возврат из инструкции прерывания. |
IDiaSymbol::get_intrinsic |
Извлекает флаг, указывающий, является ли класс встроенным типом. |
IDiaSymbol::get_intro |
Извлекает флаг, указывающий, является ли функция виртуальной функцией базового класса. |
IDiaSymbol::get_isAcceleratorGroupSharedLocal |
Извлекает флаг, указывающий, соответствует ли символ группе общей локальной переменной в коде, скомпилированном для акселератора C++ AMP. |
IDiaSymbol::get_isAcceleratorPointerTagLiveRange |
Извлекает флаг, указывающий, соответствует ли символ диапазона определений компоненту тега переменной указателя в коде, скомпилированном для акселератора C++ AMP. Символ диапазона определений — это расположение переменной для диапазона адресов. |
IDiaSymbol::get_isAcceleratorStubFunction |
Указывает, соответствует ли символ функции верхнего уровня для шейдера, скомпилированного для акселератора, соответствующего вызову parallel_for_each . |
IDiaSymbol::get_isAggregated |
Извлекает флаг, указывающий, являются ли данные частью агрегата множества символов. |
IDiaSymbol::get_isConstructorVirtualBase |
Извлекает флаг, указывающий, является ли это конструктором экземпляра класса с виртуальной базой. |
IDiaSymbol::get_isCTypes |
Извлекает флаг, указывающий, содержит ли файл символов типы C. |
IDiaSymbol::get_isCVTCIL |
Извлекает флаг, указывающий, был ли модуль преобразован из common Intermediate Language (CIL) в машинный код. |
IDiaSymbol::get_isCxxReturnUdt |
Извлекает флаг, указывающий, возвращается ли определяемый пользователем стиль C++ . |
IDiaSymbol::get_isDataAligned |
Извлекает флаг, указывающий, соответствуют ли элементы определяемого пользователем типа данных определенной границе. |
IDiaSymbol::get_isHLSLData |
Указывает, представляет ли этот символ данные языка шейдера высокого уровня (HLSL). |
IDiaSymbol::get_isHotpatchable |
Извлекает флаг, указывающий, компилируется ли модуль с параметром компилятора /hotpatch (Create Hotpatchable Image). |
IDiaSymbol::get_isInterfaceUdt |
Извлекает флаг, указывающий, является ли тип определяемого пользователем интерфейса WinRT (UDT). |
IDiaSymbol::get_isLocationControlFlowDependent |
Извлекает флаг, указывающий, зависит ли динамическая жизнь расположения локального символа от потока управления функции. |
IDiaSymbol::get_isLTCG |
Извлекает флаг, указывающий, связан ли управляемый компилятор с LTCG компоновщика. |
IDiaSymbol::get_isMatrixRowMajor |
Указывает, является ли матрица основной строкой. |
IDiaSymbol::get_isMSILNetmodule |
Извлекает флаг, указывающий, является ли управляемый компилятор .netmodule (содержащий только метаданные). |
IDiaSymbol::get_isMultipleInheritance |
Указывает, указывает, указывает ли this указатель на член данных с несколькими наследованием. |
IDiaSymbol::get_isNaked |
Извлекает флаг, указывающий, имеет ли функция голый атрибут. |
IDiaSymbol::get_isOptimizedAway |
Указывает, оптимизирована ли переменная. |
IDiaSymbol::get_isOptimizedForSpeed |
Извлекает флаг, указывающий, оптимизирована ли функция для скорости. |
IDiaSymbol::get_isPGO |
Извлекает флаг, указывающий, включен ли PGO. |
IDiaSymbol::get_isPointerBasedOnSymbolValue |
Указывает, основан ли this указатель на значение символа. |
IDiaSymbol::get_isPointerToDataMember |
Указывает, является ли этот символ указателем на член данных. |
IDiaSymbol::get_isPointerToMemberFunction |
Указывает, является ли этот символ указателем на функцию-член. |
IDiaSymbol::get_isRefUdt |
Извлекает флаг, указывающий, является ли это ссылочным типом, определяемым пользователем (UDT). |
IDiaSymbol::get_isReturnValue |
Указывает, несет ли переменная возвращаемое значение. |
IDiaSymbol::get_isSafeBuffers |
Извлекает флаг, указывающий, используется ли директива препроцессера для безопасного буфера. |
IDiaSymbol::get_isSdl |
Указывает, компилируется ли модуль с параметром /SDL. |
IDiaSymbol::get_isSingleInheritance |
Указывает, указывает, указывает ли this указатель на элемент данных с одним наследованием. |
IDiaSymbol::get_isSplitted |
Извлекает флаг, указывающий, разделены ли данные на агрегат отдельных символов. |
IDiaSymbol::get_isStatic |
Извлекает флаг, указывающий, является ли функция или слой thunk статическим. |
IDiaSymbol::get_isStripped |
Извлекает флаг, указывающий, были ли закрытые символы удалены из файла символов. |
IDiaSymbol::get_isValueUdt |
Извлекает флаг, указывающий, является ли это определяемым пользователем типом (UDT) значения WinRT. |
IDiaSymbol::get_isVirtualInheritance |
Указывает, указывает, указывает ли this указатель на член данных с виртуальным наследованием. |
IDiaSymbol::get_isWinRTPointer |
Извлекает флаг, указывающий, является ли это тип указателя WinRT. |
IDiaSymbol::get_language |
Извлекает язык источника. |
IDiaSymbol::get_length |
Извлекает количество байтов памяти, используемых объектом, представленным этим символом. |
IDiaSymbol::get_lexicalParent |
Извлекает ссылку на лексический родительский элемент символа. |
IDiaSymbol::get_lexicalParentId |
Извлекает лексический родительский идентификатор символа. |
IDiaSymbol::get_libraryName |
Извлекает имя файла библиотеки или файла объектов, из которого был загружен объект. |
IDiaSymbol::get_liveRangeLength |
Возвращает длину диапазона адресов, в котором допустимы локальный символ. |
IDiaSymbol::get_liveRangeStartAddressOffset |
Возвращает часть смещения начального диапазона адресов, в которой допустимы локальный символ. |
IDiaSymbol::get_liveRangeStartAddressSection |
Возвращает часть раздела начального диапазона адресов, в котором допустимы локальный символ. |
IDiaSymbol::get_liveRangeStartRelativeVirtualAddress |
Возвращает начало диапазона адресов, в котором допустимы локальный символ. |
IDiaSymbol::get_localBasePointerRegisterId |
Извлекает конструктор регистра, содержащий базовый указатель на локальные жители. |
IDiaSymbol::get_locationType |
Извлекает тип расположения символа данных. |
IDiaSymbol::get_lowerBound |
Извлекает нижнюю границу измерения массива FORTRAN. |
IDiaSymbol::get_lowerBoundId |
Извлекает идентификатор символа нижней границы измерения массива FORTRAN. |
IDiaSymbol::get_machineType |
Извлекает тип целевого ЦП. |
IDiaSymbol::get_managed |
Извлекает флаг, указывающий, относится ли символ к управляемому коду. |
IDiaSymbol::get_memorySpaceKind |
Извлекает тип пространства памяти. |
IDiaSymbol::get_modifierValues |
Извлекает набор модификаторов для этого символа. |
IDiaSymbol::get_msil |
Извлекает флаг, указывающий, относится ли символ к коду MICROSOFT Intermediate Language (MSIL). |
IDiaSymbol::get_name |
Извлекает имя символа. |
IDiaSymbol::get_nested |
Извлекает флаг, указывающий, вложен ли определяемый пользователем тип данных. |
IDiaSymbol::get_noInline |
Извлекает флаг, указывающий, помечена ли функция атрибутом noinline . |
IDiaSymbol::get_noNameExport |
Извлекает флаг, указывающий, является NONAME ли этот экспорт. |
IDiaSymbol::get_noReturn |
Извлекает флаг, указывающий, объявлена ли функция с атрибутом noreturn . |
IDiaSymbol::get_noStackOrdering |
Извлекает флаг, указывающий, не удалось ли выполнить упорядочивание стека в рамках проверки буфера стека. |
IDiaSymbol::get_notReached |
Извлекает флаг, указывающий, не достигнута ли функция или метка. |
IDiaSymbol::get_numberOfAcceleratorPointerTags |
Возвращает количество тегов указателя акселератора в заглушку C++ AMP. |
IDiaSymbol::get_numberOfColumns |
Извлекает количество столбцов в матрице. |
IDiaSymbol::get_numberOfModifiers |
Извлекает количество модификаторов, применяемых к исходному типу. |
IDiaSymbol::get_numberOfRegisterIndices |
Извлекает количество регистровых индексов. |
IDiaSymbol::get_numberOfRows |
Извлекает количество строк в матрице. |
IDiaSymbol::get_numericProperties |
Извлекает набор числовых свойств для этого символа. |
IDiaSymbol::get_objectFileName |
Извлекает имя файла объекта. |
IDiaSymbol::get_objectPointerType |
Извлекает тип указателя объекта для метода класса. |
IDiaSymbol::get_oemId |
Извлекает значение символа oemId . |
IDiaSymbol::get_oemSymbolId |
Извлекает значение символа oemSymbolId . |
IDiaSymbol::get_offset |
Извлекает смещение расположения символов. |
IDiaSymbol::get_offsetInUdt |
Извлекает смещение поля этого символа внутри внешнего определяемого пользователем типа (UDT). |
IDiaSymbol::get_optimizedCodeDebugInfo |
Извлекает флаг, указывающий, содержит ли функция или метка оптимизированный код, а также сведения об отладке. |
IDiaSymbol::get_ordinal |
Получает порядковый номер этого экспорта. |
IDiaSymbol::get_overloadedOperator |
Извлекает флаг, указывающий, имеет ли определяемый пользователем тип данных перегруженные операторы. |
IDiaSymbol::get_packed |
Извлекает флаг, указывающий, упакован ли определяемый пользователем тип данных. |
IDiaSymbol::get_paramBasePointerRegisterId |
Извлекает конструктор регистра, в который содержится базовый указатель на параметры. |
IDiaSymbol::get_PGODynamicInstructionCount |
Извлекает число динамических инструкций, вычисляемое по обучению. |
IDiaSymbol::get_PGOEdgeCount |
Извлекает число ребер между вызывающим или вызывающим объектом и родительским объектом. |
IDiaSymbol::get_PGOEntryCount |
Извлекает общее количество вызовов в обучении PGO. |
IDiaSymbol::get_phaseName |
Извлекает этап, который эта функция является членом многофакторных сборок PGO. |
IDiaSymbol::get_platform |
Извлекает тип платформы, для которого компилируется программа или компилятор. |
IDiaSymbol::get_privateExport |
Извлекает флаг, указывающий, является PRIVATE ли этот экспорт. |
IDiaSymbol::get_pure |
Извлекает флаг, указывающий, является ли функция чисто виртуальной. |
IDiaSymbol::get_rank |
Извлекает ранг многомерного массива FORTRAN. |
IDiaSymbol::get_reference |
Извлекает флаг, указывающий, является ли тип указателя ссылкой. |
IDiaSymbol::get_registerId |
Извлекает конструктор регистра расположения. |
IDiaSymbol::get_registerType |
Извлекает тип регистра. |
IDiaSymbol::get_relativeVirtualAddress |
Извлекает относительный виртуальный адрес (RVA) расположения. |
IDiaSymbol::get_restrictedType |
Указывает, помечен ли this указатель как ограниченный. |
IDiaSymbol::get_RValueReference |
Извлекает флаг, указывающий, является ли тип указателя ссылкой rvalue. |
IDiaSymbol::get_samplerSlot |
Извлекает слот примера. |
IDiaSymbol::get_scoped |
Извлекает флаг, указывающий, отображается ли определяемый пользователем тип данных в нелогической лексической области. |
IDiaSymbol::get_sealed |
Извлекает флаг, указывающий, запечатывается ли класс или метод. |
IDiaSymbol::get_signature |
Извлекает значение подписи символа. |
IDiaSymbol::get_sizeInUdt |
Извлекает размер члена определяемого пользователем типа. |
IDiaSymbol::get_slot |
Извлекает номер слота расположения. |
IDiaSymbol::get_sourceFileName |
Извлекает имя файла исходного файла. |
IDiaSymbol::get_staticSize |
Извлекает число статических инструкций. |
IDiaSymbol::get_strictGSCheck |
Извлекает флаг, указывающий, компилируется ли эта функция с strict_gs_check включенным pragma . |
IDiaSymbol::get_stride |
Извлекает шаг матрицы или массива с переопределенным массивом. |
IDiaSymbol::get_subType |
Извлекает подтип. |
IDiaSymbol::get_subTypeId |
Извлекает идентификатор подтипа. |
IDiaSymbol::get_symbolsFileName |
Извлекает имя файла, из которого были загружены символы. |
IDiaSymbol::get_symIndexId |
Извлекает уникальный идентификатор символа. |
IDiaSymbol::get_symTag |
Извлекает классификатор типов символов. |
IDiaSymbol::get_targetOffset |
Извлекает раздел смещения целевого объекта thunk. |
IDiaSymbol::get_targetRelativeVirtualAddress |
Извлекает относительный виртуальный адрес (RVA) целевого объекта thunk. |
IDiaSymbol::get_targetSection |
Извлекает раздел адреса целевого объекта thunk. |
IDiaSymbol::get_targetVirtualAddress |
Извлекает виртуальный адрес (VA) целевого объекта thunk. |
IDiaSymbol::get_textureSlot |
Извлекает слот текстуры. |
IDiaSymbol::get_thisAdjust |
Извлекает логический this адаптатор для метода. |
IDiaSymbol::get_thunkOrdinal |
Извлекает тип thunk функции. |
IDiaSymbol::get_timeStamp |
Извлекает метку времени базового исполняемого файла. |
IDiaSymbol::get_token |
Извлекает маркер метаданных управляемой функции или переменной. |
IDiaSymbol::get_type |
Извлекает ссылку на сигнатуру функции. |
IDiaSymbol::get_typeId |
Извлекает идентификатор типа символа. |
IDiaSymbol::get_typeIds |
Извлекает массив значений идентификатора типа для конкретного компилятора для этого символа. |
IDiaSymbol::get_types |
Извлекает массив значений типов, относящихся к компилятору, для этого символа. |
IDiaSymbol::get_uavSlot |
Извлекает слот uav. |
IDiaSymbol::get_udtKind |
Извлекает разнообразие определяемого пользователем типа (UDT). |
IDiaSymbol::get_unalignedType |
Извлекает флаг, указывающий, является ли определяемый пользователем тип данных незамеченным. |
IDiaSymbol::get_undecoratedName |
Извлекает незавершенное имя декорированного или связуемого имени C++. |
IDiaSymbol::get_undecoratedNameEx |
get_undecoratedName Расширение метода, извлекающего неоценённое имя на основе значения поля расширения. |
IDiaSymbol::get_unmodifiedType |
Извлекает исходный (немодифицируемый) тип этого символа. |
IDiaSymbol::get_unmodifiedTypeId |
Получает идентификатор исходного (немодифицированного) типа. |
IDiaSymbol::get_unused |
Нерекомендуемая функция. |
IDiaSymbol::get_upperBound |
Извлекает верхнюю границу измерения массива FORTRAN. |
IDiaSymbol::get_upperBoundId |
Извлекает идентификатор символа верхней границы измерения массива FORTRAN. |
IDiaSymbol::get_value |
Извлекает значение константы. |
IDiaSymbol::get_virtual |
Извлекает флаг, указывающий, является ли функция виртуальной. |
IDiaSymbol::get_virtualAddress |
Извлекает виртуальный адрес (VA) расположения. |
IDiaSymbol::get_virtualBaseClass |
Извлекает флаг, указывающий, является ли определяемый пользователем тип данных виртуальным базовым классом. |
IDiaSymbol::get_virtualBaseDispIndex |
Извлекает индекс в таблицу смещений виртуальной базы. |
IDiaSymbol::get_virtualBaseOffset |
Извлекает смещение в таблице виртуальных функций виртуальной функции. |
IDiaSymbol::get_virtualBasePointerOffset |
Извлекает смещение виртуального базового указателя. |
IDiaSymbol::get_virtualBaseTableType |
Извлекает тип указателя виртуальной базовой таблицы. |
IDiaSymbol::get_virtualTableShape |
Извлекает интерфейс символа типа виртуальной таблицы для определяемого пользователем типа. |
IDiaSymbol::get_virtualTableShapeId |
Извлекает идентификатор фигуры виртуальной таблицы символа. |
IDiaSymbol::get_volatileType |
Извлекает флаг, указывающий, является ли определяемый пользователем тип данных переменным. |
IDiaSymbol::get_wasInlined |
Извлекает флаг, указывающий, был ли этот символ функции вложен в другую функцию. |
IDiaSymbol::getSrcLineOnTypeDefn |
Извлекает исходный файл и номер строки, указывающий, где определен определенный пользователем тип. |
Замечания
Заметки для вызывающих абонентов
Получите этот интерфейс, вызвав один из следующих методов:
Пример
В этом примере показано, как отобразить локальные переменные для функции по заданному относительному виртуальному адресу. В нем также показано, как символы разных типов связаны друг с другом.
Примечание.
CDiaBSTR
— это класс, который выполняет оболочку BSTR
и автоматически обрабатывает освобождение строки при выходе экземпляра из области.
void DumpLocalVars( DWORD rva, IDiaSession *pSession )
{
CComPtr< IDiaSymbol > pBlock;
if ( FAILED( psession->findSymbolByRVA( rva, SymTagBlock, &pBlock ) ) )
{
Fatal( "Failed to find symbols by RVA" );
}
CComPtr< IDiaSymbol > pscope;
for ( ; pBlock != NULL; )
{
CComPtr< IDiaEnumSymbols > pEnum;
// local data search
if ( FAILED( pBlock->findChildren( SymTagNull, NULL, nsNone, &pEnum ) ) )
{
Fatal( "Local scope findChildren failed" );
}
CComPtr< IDiaSymbol > pSymbol;
DWORD tag;
DWORD celt;
while ( pEnum != NULL &&
SUCCEEDED( pEnum->Next( 1, &pSymbol, &celt ) ) &&
celt == 1)
{
pSymbol->get_symTag( &tag );
if ( tag == SymTagData )
{
CDiaBSTR name;
DWORD kind;
pSymbol->get_name( &name );
pSymbol->get_dataKind( &kind );
if ( name != NULL )
wprintf_s( L"\t%s (%s)\n", name, szDataKinds[ kind ] );
}
else if ( tag == SymTagAnnotation )
{
CComPtr< IDiaEnumSymbols > pValues;
// local data search
wprintf_s( L"\tAnnotation:\n" );
if ( FAILED( pSymbol->findChildren( SymTagNull, NULL, nsNone, &pValues ) ) )
Fatal( "Annotation findChildren failed" );
pSymbol = NULL;
while ( pValues != NULL &&
SUCCEEDED( pValues->Next( 1, &pSymbol, &celt ) ) &&
celt == 1 )
{
CComVariant value;
if ( pSymbol->get_value( &value ) != S_OK )
Fatal( "No value for annotation data." );
wprintf_s( L"\t\t%ws\n", value.bstrVal );
pSymbol = NULL;
}
}
pSymbol = NULL;
}
pBlock->get_symTag( &tag );
if ( tag == SymTagFunction ) // stop when at function scope
break;
// move to lexical parent
CComPtr< IDiaSymbol > pParent;
if ( SUCCEEDED( pBlock->get_lexicalParent( &pParent ) )
&& pParent != NULL ) {
pBlock = pParent;
}
else
{
Fatal( "Finding lexical parent failed." );
}
};
}
Требования
Header:
Dia2.h
Библиотека: diaguids.lib
DLL: msdia140.dll