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