Udostępnij za pośrednictwem


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

Zobacz też