IModelObject::EnumerateRawValues メソッド (dbgmodel.h)
EnumerateRawValues メソッドは、指定されたオブジェクトのすべてのネイティブ子 (フィールド、基底クラスなど) を列挙します。
構文
HRESULT EnumerateRawValues(
SymbolKind kind,
ULONG searchFlags,
IRawEnumerator **enumerator
);
パラメーター
kind
フェッチするネイティブ シンボルの種類を示します (基本クラスやデータ メンバーなど)
searchFlags
ネイティブ コンストラクトの検索の動作を指定するフラグのオプション セット。
enumerator
kind 引数で指定された種類のすべてのネイティブ子を IRawEnumerator インターフェイスとして列挙する列挙子。
戻り値
このメソッドは、成功または失敗を示す HRESULT を返します。
注釈
コード サンプル
ComPtr<IModelObject> spMessage; /* get a tagMSG */
ComPtr<IRawEnumerator> spEnum;
if (SUCCEEDED(spMessage->EnumerateRawValues(SymbolField, RawSearchNone, &spEnum)))
{
HRESULT hr = S_OK;
while (SUCCEEDED(hr))
{
BSTR fieldName;
SymbolKind symKind;
ComPtr<IModelObject> spFieldValue;
hr = spEnum->GetNext(&fieldName, &symbolKind, &spFieldValue);
if (SUCCEEDED(hr))
{
// fieldName contains the name of the field, symKind contains the kind of
// symbol matched (SymbolField in this case), spFieldValue contains the value
// For tagMSG (with symbols), the enumerator should produce field names and
// values for 'hwnd', 'message', 'wParam', 'lParam', 'time', and 'pt'
SysFreeString(fieldName);
}
}
// hr == E_BOUNDS : We hit the end of the enumerator
// hr == E_ABORT : There was a user request for an interrupt / propagate that upward immediately
}
要件
要件 | 値 |
---|---|
Header | dbgmodel.h |