다음을 통해 공유


IDebugHostModule::EnumerateChildren 메서드(dbgmodel.h)

EnumerateChildren 메서드는 지정된 기호의 모든 자식을 열거하는 열거자를 반환합니다. 예를 들어 C++ 형식의 경우 기본 클래스, 필드, 멤버 함수 등은 모두 형식 기호의 자식으로 간주됩니다.

구문

HRESULT EnumerateChildren(
  SymbolKind                 kind,
  PCWSTR                     name,
  IDebugHostSymbolEnumerator **ppEnum
);

매개 변수

kind

호출자가 열거하려는 자식 기호의 종류를 나타냅니다. 플랫 값 기호가 전달되면 모든 종류의 자식 기호가 열거됩니다.

name

지정한 경우 이 인수에 지정된 이름을 가진 자식 기호만 열거됩니다.

ppEnum

지정된 종류와 이름의 자식 기호를 열거하는 열거자가 여기에 반환됩니다.

반환 값

이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.

설명

코드 예제

ComPtr<IDebugHostType> spType; /* get the type of an object */

// Enumerate every field of this type.  Note that this *WILL NOT* enumerate 
// fields of base classes!
ComPtr<IDebugHostSymbolEnumerator> spEnum;
if (SUCCEEDED(spType->EnumerateChildren(SymbolField, nullptr, &spEnum)))
{
    ComPtr<IDebugHostSymbol> spFieldSymbol;
    HRESULT hr = S_OK;
    while (SUCCEEDED(hr))
    {
        hr = spEnum->GetNext(&spFieldSymbol);
        if (SUCCEEDED(hr))
        {
            ComPtr<IDebugHostField> spField;
            if (SUCCEEDED(spFieldSymbol.As(&spField))) /* should always succeed */
            {
                // spField is each field of the type in turn
            }
        }
    }

    // hr == E_BOUNDS : we hit the end of the enumerator
    // hr == E_ABORT  : user requested interruption, propagate upwards immediately
}

요구 사항

요구 사항
헤더 dbgmodel.h

추가 정보

IDebugHostModule 인터페이스