次の方法で共有


IDiaSession::symbolById

シンボルを一意の識別子ごとに取得します。

構文

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

パラメーター

id

[入力] 一意の識別子。

ppSymbol

[out] 取得されたシンボルを表す IDiaSymbol オブジェクトを返します。

戻り値

成功した場合は、S_OK を返します。それ以外の場合は、エラー コードを返します。

解説

指定された識別子は、すべてのシンボルを一意にするために DIA 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);
}

関連項目