IModelObject::EnumerateKeyValues 메서드(dbgmodel.h)

EnumerateKeyValues 메서드는 개체의 모든 키를 열거하기 위해 클라이언트가 설정하는 첫 번째 메서드입니다(부모 모델 트리의 모든 위치에 구현된 모든 키가 포함됨). EnumerateKeyValues는 개체 트리의 중복 이름으로 정의된 모든 키를 열거합니다. 그러나 GetKeyValue 및 SetKeyValue와 같은 메서드는 깊이 첫 번째 통과에서 검색된 지정된 이름의 키의 첫 번째 instance 조작합니다.

구문

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 인터페이스