IDiaSession::findChildrenEx
名前とシンボルの種類に一致する、指定された親識別子のすべての子 (最適化されたローカルを含む) を取得します。
構文
HRESULT findChildrenEx (
IDiaSymbol* parent,
SymTagEnum symtag,
LPCOLESTR name,
DWORD compareFlags,
IDiaEnumSymbols** ppResult
);
パラメーター
parent
[入力] 親を表す IDiaSymbol
オブジェクト。 この親シンボルが関数、モジュール、またはブロックの場合、その構文上の子が ppResult
で返されます。 親シンボルが型の場合は、そのクラスの子が返されます。 このパラメーターが NULL
の場合は、symtag
を SymTagExe
または SymTagNull
に設定する必要があります。これにより、グローバル スコープ (.exe ファイル) が返されます。
symtag
[入力] 取得する子のシンボル タグを指定します。 値は、 SymTagEnum
列挙 列挙体から取得されます。 すべての子を取得するには、SymTagNull
に設定します。
name
[入力] 取得する子の名前を指定します。 すべての子を取得するには、NULL
に設定します。
compareFlags
[入力] 名前の照合に適用する比較オプションを指定します。 NameSearchOptions
列挙列挙体の値は、単独で、または組み合わせて使用できます。
ppResult
[out]取得した子シンボルの一覧を含む IDiaEnumSymbols
オブジェクトを返します。
戻り値
成功した場合は、S_OK
を返します。それ以外の場合は、エラー コードを返します。
例
次の例では、名前 szVarName
に一致する関数 pFunc
のローカル変数を検索する方法を示します。
IDiaEnumSymbols* pEnum;
pSession->findChildrenEx( pFunc, SymTagData, szVarName, nsCaseSensitive, &pEnum );