IDiaSession::symbolById

Ruft ein Symbol anhand seines eindeutigen Bezeichners ab.

Syntax

HRESULT symbolById (
    DWORD        id,
    IDiaSymbol** ppSymbol
);

Parameter

id

[in] Eindeutiger Bezeichner.

ppSymbol

[out] Gibt ein IDiaSymbol-Objekt zurück, das das abgerufene Symbol darstellt.

Rückgabewert

Wenn die Ausführung erfolgreich ist, wird S_OK, andernfalls ein Fehlercode zurückgegeben.

Bemerkungen

Der angegebene Bezeichner ist ein eindeutiger Wert, der intern vom DIA SDK verwendet wird, um alle Symbole eindeutig zu machen.

Diese Methode kann beispielsweise verwendet werden, um das Symbol abzurufen, das den Typ eines anderen Symbols darstellt (siehe Beispiel).

Beispiel

In diesem Beispiel wird ein IDiaSymbol abgerufen, das den Typ eines anderen Symbols darstellt. In diesem Beispiel wird die Verwendung der symbolById-Methode in dieser Sitzung veranschaulicht. Ein einfacherer Ansatz besteht darin, die IDiaSymbol::get_type-Methode aufzurufen, um das Typsymbol direkt abzurufen.

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

Weitere Informationen