IDiaSession::symbolById
Получает символ его уникальным идентификатором.
HRESULT symbolById (
DWORD id,
IDiaSymbol** ppSymbol
);
Параметры
id
[in] уникальный идентификатор.ppSymbol
[out] возвращает IDiaSymbol объект, который представляет полученный символ.
Возвращаемое значение
В случае успеха возвращает S_OK; в противном случае возвращает код ошибки.
Заметки
Указанный идентификатор уникальное значение, используемое внутри пакета SDK для доступа к интерфейсу отладки, чтобы сделать все символы уникальным.
Этот метод можно использовать, например, для получения символ, представляющий тип другого символа (см. пример).
Пример
Этот пример извлекает IDiaSymbol представления типа другого символа. В этом примере показано, как использовать symbolById метод в сеансе. Более простой способ вызова IDiaSymbol::get_type метод для извлечения символ типа напрямую.
IDiaSymbol *GetSymbolType(IDiaSymbol *pSymbol, IDiaSession *pSession)
{
IDiaSymbol *pTypeSymbol = NULL;
if (pSymbol != NULL && pSession != NULL)
{
DWORD symbolTypeId;
pSymbol->get_typeId(&symbolTypeId);
pSession->symbolById(symbolTypeId, &pTypeSymbol);
}
return(pTypeSymbol);
}