次の方法で共有


IDiaSession::findChildrenExByRVA

指定した相対仮想アドレス (RVA) を含む、または最も近い、最適化されたローカルを含む、名前とシンボルの種類に一致する、指定された親識別子のすべての子を取得します。

構文

HRESULT findChildrenExByRVA (
   IDiaSymbol*       parent,
   SymTagEnum        symtag,
   LPCOLESTR         name,
   DWORD             compareFlags,
   DWORD             rva,
   IDiaEnumSymbols** ppResult
);

パラメーター

parent

[入力] 親を表す IDiaSymbol オブジェクト。 この親シンボルが関数、モジュール、またはブロックの場合、その構文上の子が ppResult で返されます。 親シンボルが型の場合は、そのクラスの子が返されます。 このパラメーターが NULL の場合は、symtagSymTagExe または SymTagNull に設定する必要があります。これにより、グローバル スコープ (.exe ファイル) が返されます。

symtag

[入力] 取得する子のシンボル タグを指定します。 値は、 SymTagEnum 列挙 列挙体から取得されます。 すべての子を取得するには、SymTagNull に設定します。

name

[入力] 取得する子の名前を指定します。 すべての子を取得するには、NULL に設定します。

compareFlags

[入力] 名前の照合に適用する比較オプションを指定します。 NameSearchOptions列挙列挙体の値は、単独で、または組み合わせて使用できます。

rva

[入力] RVA を指定します。

ppResult

[out]取得した子シンボルの一覧を含む IDiaEnumSymbols オブジェクトを返します。

戻り値

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

次の例は、相対仮想アドレス rvaで名前szVarNameと一致する関数pFuncのローカル変数を検索する方法を示しています。

IDiaEnumSymbols* pEnum;
pSession->findChildrenExByRVA( pFunc, SymTagData, szVarName, nsCaseSensitive, rva, &pEnum );

関連項目