Поделиться через


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);
}

См. также

Ссылки

IDiaSession

IDiaSymbol

IDiaSymbol::get_type