IDiaSession::symbolById
Pobiera symbol według jego unikatowego identyfikatora.
Składnia
HRESULT symbolById (
DWORD id,
IDiaSymbol** ppSymbol
);
Parametry
id
[in] Unikatowy identyfikator.
ppSymbol
[out] Zwraca obiekt IDiaSymbol reprezentujący pobrany symbol.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK
; w przeciwnym razie zwraca kod błędu.
Uwagi
Określony identyfikator jest unikatową wartością używaną wewnętrznie przez zestaw DIA SDK, aby wszystkie symbole były unikatowe.
Ta metoda może służyć na przykład do pobrania symbolu reprezentującego typ innego symbolu (zobacz przykład).
Przykład
Ten przykład pobiera identyfikator IDiaSymbol reprezentujący typ innego symbolu. W tym przykładzie pokazano, jak używać symbolById
metody w sesji. Prostszą metodą jest wywołanie metody IDiaSymbol::get_type w celu bezpośredniego pobrania symbolu typu.
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);
}