IModelObject::EnumerateKeyValues メソッド (dbgmodel.h)
EnumerateKeyValues メソッドは、オブジェクトのすべてのキーを列挙するためにクライアントが最初に使用するメソッドです (これには、親モデルのツリー内の任意の場所に実装されているすべてのキーが含まれます)。 EnumerateKeyValues では、オブジェクト ツリー内の重複する名前で定義されているすべてのキーが列挙されることに注意してください。ただし、GetKeyValue や SetKeyValue などのメソッドは、深さ優先トラバーサルによって検出された名前のキーの最初のインスタンスのみを操作します。
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
}
要件 | 価値 |
---|---|
ヘッダー | dbgmodel.h |
IModelObject インターフェイス の