IDiaSymbol
Описывает свойства экземпляра символов.
IDiaSymbol : IUnknown
Методы в алфавитном порядке
В следующей таблице показаны методы IDiaSymbol.
Примечание
Символы возвращают значимые данные только для некоторых из этих методов, в зависимости от типа символов.Если метод возвращает S_ОК, этот метод возвращал значимые данные.
Метод |
Описание |
---|---|
Извлекает все дочерние элементы символов. |
|
Получает дочерние элементы символов. Этот метод, расширенную версию IDiaSymbol::findChildren. |
|
Получает дочерние элементы символов, допустимых по указанному адресу. |
|
Получает дочерние элементы символов, допустимых в указанном относительного адреса (RVA виртуальном). |
|
Получает дочерние элементы символов, допустимых в указанном виртуальному адресу. |
|
Извлекает перечисление, которое позволяет клиенту выполнять перебор всех кадров встроенного по заданному адресу. |
|
Извлекает перечисление, которое позволяет клиенту выполнять перебор всех кадров относительному адресу встроенного по указанному виртуальному (RVA). |
|
Извлекает перечисление, которое позволяет клиенту выполнять перебор всех кадров встроенного по указанному виртуальному адресу (VA). |
|
Извлекает перечисление, которое позволяет клиенту выполнять перебор число линии всех функций, является встроенной, прямо или косвенно в этом символе. |
|
Извлекает перечисление, которое позволяет клиенту выполнять перебор число линии всех функций, является встроенной, прямо или косвенно в этом символе в указанный диапазон адресов. |
|
Извлекает перечисление, которое позволяет клиенту выполнять перебор число линии всех функций, является встроенной, прямо или косвенно в этом символе в заданный относительный виртуальный адрес (RVA). |
|
Извлекает перечисление, которое позволяет клиенту выполнять перебор число линии всех функций, является встроенной, прямо или косвенно в этом символе в указанный виртуальный адрес (VA). |
|
Если соответствующее значение тега, этот метод возвращает перечисление символов, содержащихся в этой функции заглушки для заданного относительного виртуальному адресу. |
|
Возвращает количество тегов указателя сочетаний клавиш в функции заглушки C++ AMP. |
|
Возвращает все значения тега указателя сочетаний клавиш, которые соответствуют функции заглушки сочетаний клавиш C++ AMP. |
|
Извлекает модификатор доступа члена класса. |
|
Извлекает часть смещения положения адреса. |
|
Извлекает часть раздела расположения адреса. |
|
Извлекает пометить указывающее, ссылается ли другой символ этот адрес. |
|
Возвращает значение длительности базы данных программы. |
|
Извлекает идентификатор символов типа индекса массива. |
|
Извлекает идентификатор типа индекса массива символов. |
|
Получает конечный основной номер версии. |
|
Получает конечный дополнительный номер версии. |
|
Получает конечный номер построения. |
|
Получает базовое смещение данных. |
|
Получает базовый область данных. |
|
Получает символ, из которого указатель основан. |
|
Извлекает идентификатор символов, из которого указатель основан. |
|
Получает тег типа простого типа. |
|
Получает положение бита расположения. |
|
Возвращает встроенный тип HLSL. |
|
Возвращает индикатор соглашение о вызовах метода. |
|
Извлекает ссылку на родительский объект класса символов. |
|
Извлекает идентификатор класса родительский символов. |
|
Извлекает пометить указывающее, относится ли символ на адрес кода. |
|
Извлекает пометить указывающее, был ли создан символ. |
|
Извлекает имя компилятора, используемого для создания Compiland. |
|
Извлекает пометить указывающее, имеет ли определяемый пользователем тип данных конструктор. |
|
Извлекает, содержащий символ этого символа. |
|
Извлекает пометить указывающее, является ли определяемый пользователем тип данных. |
|
Получает число элементов в списке или массиве. |
|
Извлекает число допустимых диапазонов адресов, связанных с локальным символом. |
|
Извлекает пометить указывающее, используется ли функция пользовательское соглашение о вызовах. |
|
Извлекает байт данных символов OEM. |
|
Извлекает переменную классификацию символов данных. |
|
Извлекает пометить с описанием правку и продолжает функции компилированных программы или единицы измерения. |
|
Извлекает пометить указывающее, используется ли функция дальше, возвращаемое. |
|
Получает основной номер версии. |
|
Получает дополнительный номер версии. |
|
Получает номер построения. |
|
Извлекает пометить указывающее, относится ли открытый символ в функции. |
|
Извлекает идентификатор GUID символов. |
|
Извлекает пометить указывающее, содержит ли функция вызов alloca. |
|
Извлекает пометить указывающее, имеет ли определяемый пользователем тип данных заданные операторы присваивания. |
|
Извлекает пометить указывающее, имеет ли заданный определяемый пользователем тип данных какие-либо операторы приведения. |
|
Извлекает пометить указывающее, содержит ли compiland какие-либо данные отладки. |
|
Извлекает пометить указывающее, имеет ли функция обработчика исключений C++-style. |
|
Извлекает пометить указывающее, имеет ли функция асинхронный обработчик исключений. |
|
Извлекает пометить указывающее, имеет ли функция встроенной сборки. |
|
Извлекает пометить указывающее, содержит ли функция команду longjmp (часть обработки ошибок в стиле языка C). |
|
Извлекает пометить указывающее, содержит ли модуль управляемого кода. |
|
Извлекает пометить указывающее, имеет ли определяемый пользователем тип данных определения вложенного типа. |
|
Извлекает пометить указывающее, имеют ли функция или compiland проверки безопасности компилированные in (через параметр компилятора Параметр /GS (проверка безопасности буфера) ). |
|
Извлекает пометить указывающее, имеет ли функция обработки ошибок, составленную из Win32-style. |
|
Извлекает пометить указывающее, содержит ли функция команду setjmp. |
|
Извлекает пометить указывающее, может ли определяемый пользователем тип данных косвенный виртуальный базовый класс. |
|
Извлекает пометить указывает, помечена ли функция со встроенными атрибутом. |
|
Извлекает пометить указывающее, имеет ли функция вернуться из инструкций прерывания. |
|
Извлекает пометить указывающее, является ли функция виртуальная функция базового класса. |
|
Извлекает пометить, указывающее, соответствует ли символ в локальной переменной общей группой в компилированном коде для сочетаний клавиш C++ AMP. |
|
Извлекает пометить, указывающее, соответствует ли символ на символ диапазона определения для компонента тега переменной указателя в компилированном коде для сочетаний клавиш C++ AMP. Символ диапазона определения расположение переменной диапазона адресов. |
|
Указывает, соответствует ли символ в символ верхнего уровня функции для шейдера компилированного для сочетаний клавиш, который соответствует вызову parallel_for_each. |
|
Извлекает пометить указывающее, является ли данные являются частью агрегата много символов. |
|
Извлекает пометить указывающее, содержит ли файл символов типы c. |
|
Извлекает пометить указывающее, является ли модуль был преобразован из общего промежуточного языка (CIL) в машинный код. |
|
Извлекает пометить, указывающий выравниваются ли элементы определяемого пользователем типа данных к конкретной границы. |
|
Указывает, представляет ли этот символ высокоуровневые сведения о языке шейдера (HLSL). |
|
Извлекает пометить указывающее, был ли компилировать модуль с помощью параметра компилятора /hotpatch (Создать образ с обновлениями). |
|
Извлекает пометить указывает, было ли управляемый compiland связана с LTCG компоновщика. |
|
Определяет, является ли матрица основной строки. |
|
Извлекает пометить указывающее, является ли управляемый compiland A. netmodule (содержащего только метаданные). |
|
Определяет, является ли точки указателя this к элементу данных с несколькими наследованием. |
|
Извлекает пометить указывающее, имеет ли функция атрибут naked (C++). |
|
Указывает, оптимизирована ли переменная. |
|
Указывает, основан ли указатель this на значения символов. |
|
Указывает, является ли этот символ указатель к элементу данных. |
|
Указывает, является ли этот символ указателя на функцию-член. |
|
Указывает, содержит ли переменная возвращаемое значение. |
|
Определяет, компилировать ли модуль с параметром /SDL. |
|
Определяет, является ли точки указателя this к элементу данных с одним наследованием. |
|
Извлекает пометить указывающее, были ли данные разбиваются на агрегат отдельных символов. |
|
Извлекает пометить указывающее, является ли функция или уровень преобразователя является статическим. |
|
Извлекает пометить указывающее, были ли закрытые символы удаляются из файлов символов. |
|
Определяет, является ли точки указателя this к элементу данных с виртуальным наследованием. |
|
Получает язык источника. |
|
Извлекает число байтов памяти, используемых объектом, представленным этим символом. |
|
Извлекает ссылку на родительский словарному символов. |
|
Извлекает лексический родительский идентификатор символов. |
|
Извлекает имя файла библиотеки или файла объекта, из которой был загружен объект. |
|
Возвращает длину диапазона адресов, в котором локальным символ является допустимым. |
|
Возвращает часть раздела начальный диапазона адресов, в котором локальным символ является допустимым. |
|
Возвращает часть смещения начальный диапазона адресов, в котором локальным символ является допустимым. |
|
Возвращает начало диапазона адресов, в котором локальным символ является допустимым. |
|
Извлекает тип расположения символов данных. |
|
Получает нижнюю границу размерности массива FORTRAN. |
|
Извлекает идентификатор символов нижней границы измерения массива FORTRAN. |
|
Извлекает тип ЦП целевого объекта. |
|
Извлекает пометить, указывающее, относится ли символ в управляемый код. |
|
Извлекает тип области памяти. |
|
Извлекает пометить указывающее, относится ли символ в код MSIL. |
|
Извлекает имя символа. |
|
Извлекает пометить, вложен ли определяемый пользователем тип данных. |
|
Извлекает пометить указывает, помечена ли функция с атрибутом noinline. |
|
Извлекает пометить указывающее, является ли функция была объявлена с атрибутом noreturn. |
|
Извлекает не удалось пометить указывающее, является ли быть произведена без упорядочения стека как часть проверки буфера стека. |
|
Извлекает пометить указывающее, является ли функция не достигаются или метка никогда. |
|
Возвращает количество тегов указателя сочетаний клавиш в функции заглушки C++ AMP. |
|
Извлекает число модификаторов, которые применяются к исходному типу. |
|
Извлекает число индексов регистра. |
|
Извлекает число строк в матрице. |
|
Возвращает число столбцов в матрице. |
|
Извлекает имя файла объекта. |
|
Извлекает тип указателя объекта для метода класса. |
|
Извлекает значение oemId символов. |
|
Извлекает значение oemSymbolId символов. |
|
Получает смещение расположения символов. |
|
Извлекает пометить указывающее, содержат ли функция или метка оптимизированного кода, а также отладочные данные. |
|
Извлекает пометить, указывающий перегруженный ли определяемый пользователем тип данных. |
|
Извлекает упаковыванн пометить указывающее, может ли определяемый пользователем тип данных. |
|
Извлекает тип платформы для которого компилировались программы или compiland. |
|
Извлекает пометить, указывающее, является ли функция чисто виртуальный. |
|
Извлекает ряд многомерного массива FORTRAN. |
|
Извлекает пометить указывающее, является ли тип указателя ссылка. |
|
Извлекает указатель регистра расположения. |
|
Извлекает тип регистра. |
|
Получает относительный виртуальный адрес RVA) (расположения. |
|
Определяет, находится ли указатель this помеченн, ограниченные выпусками. |
|
Извлекает область образца. |
|
Извлекает пометить указывающее, отображается ли определяемый пользователем тип данных в nonglobal лексическую область. |
|
Извлекает значение сигнатуры символов. |
|
Получает размер элемента пользовательского типа. |
|
Извлекает число слотов расположения. |
|
Извлекает имя файла исходного файла. |
|
Извлекает исходный файл и номер линии, указывающее, где заданный пользовательский тип определен. |
|
Получает шаг матрицы или strided массива. |
|
Извлекает sub тип. |
|
Извлекает идентификатор типа sub |
|
Извлекает имя файла, из которого были загружены символы. |
|
Извлекает уникальный идентификатор символов. |
|
Получает классификатор типа символов. |
|
Получает раздел смещения целевого объекта преобразователя. |
|
Получает относительный виртуальный адрес RVA) (целевого объекта преобразователя. |
|
Получает раздел адрес целевого объекта преобразователя. |
|
Получает виртуальный адрес (VA) целевого объекта преобразователя. |
|
Извлекает область текстуры. |
|
Извлекает логическую регулятор this для метода. |
|
Извлекает тип преобразователя функции. |
|
Извлекает отметка времени основного исполняемого файла. |
|
Извлекает маркер метаданных управляемых функций или переменной. |
|
Извлекает ссылку на функцию подписи. |
|
Извлекает идентификатор типа символов. |
|
Извлекает массив значений типа компилятор- определенной для этого символа. |
|
Извлекает массив значений типа компилятор- для конкретного идентификатора для этого символа. |
|
Извлекает область uav. |
|
Извлекает различных пользовательского типа (udt). |
|
Извлекает пометить указывающее, является ли определяемый пользователем тип данных бесподстроечн. |
|
Извлекает упрощенного имя декорированного C++, либо toggle имя. |
|
Расширение метода, который возвращает get_undecoratedName упрощенного имя на основе значения поля расширения. |
|
Извлекает идентификатор исходной (неизмененным) типа. |
|
Возвращает границу размерности массива FORTRAN. |
|
Извлекает идентификатор символов границу размерности массива FORTRAN. |
|
Извлекает значение константы. |
|
Извлекает пометить указывающее, является ли функция виртуальна. |
|
Получает виртуальный адрес (VA) расположения. |
|
Извлекает пометить указывающее, является ли определяемый пользователем тип данных виртуального базового класса. |
|
Извлекает индекс в виртуальный базовой таблице смещения. |
|
Получает смещение в таблице виртуальных функций виртуальной функции. |
|
Получает смещение виртуального базового указателя. |
|
Извлекает тип виртуального указателя базовой таблицы. |
|
Извлекает интерфейс виртуальной таблицы символьных типов для настраиваемого типа. |
|
Получает виртуальный идентификатор формы таблицы символов. |
|
Извлекает пометить указывающее, является ли определяемый пользователем тип данных испаряющ. |
Заметки
Замечания для вызывающих объектов
Для получения этого интерфейса нужно вызвать один из следующих методов:
Пример
В этом примере показано, как указать локальные переменные, функции в данном виртуальном относительному адресу. Также показано, как символы различных типов связаны друг с другом.
Примечание
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: msdia80.dll
См. также
Ссылки
Иерархия классов символьных типов