IModelObject::EnumerateKeyValues メソッド (dbgmodel.h)
EnumerateKeyValues メソッドは、オブジェクトのすべてのキーを列挙するためにクライアントが最初に設定するメソッドです (これには、親モデルのツリー内の任意の場所に実装されているすべてのキーが含まれます)。 EnumerateKeyValues では、オブジェクト ツリー内の重複する名前で定義されているすべてのキーが列挙されることに注意してください。ただし、GetKeyValue や SetKeyValue などのメソッドは、depth-first-traversal によって検出された、指定された名前のキーの最初のインスタンスのみを操作します。
構文
HRESULT EnumerateKeyValues(
IKeyEnumerator **enumerator
);
パラメーター
enumerator
オブジェクト (およびそのすべての親モデル) のすべてのキーとその値とメタデータの列挙子は、この引数で IKeyEnumerator として返されます。
戻り値
このメソッドは、成功または失敗を示す HRESULT を返します。
注釈
コード サンプル
ComPtr<IModelObject> spObject; /* get the object you want to enumerate */
ComPtr<IKeyEnumerator> spEnum;
if (SUCCEEDED(spObject->EnumerateKeyValues(&spEnum)))
{
HRESULT hr = S_OK;
while (SUCCEEDED(hr))
{
BSTR keyName;
ComPtr<IModelObject> spKeyValue;
hr = spEnum->GetNext(&keyName, &spKeyValue, nullptr);
if (SUCCEEDED(hr))
{
// keyName contains the name of the key
// spKeyValue contains the value of the key
SysFreeString(keyName);
}
}
// hr == E_BOUNDS : We hit the end of the enumerator
// hr == E_ABORT : User is requesting interruption of the
// operation / stop immediately and flow the error
}
要件
要件 | 値 |
---|---|
Header | dbgmodel.h |