IDebugHostType2::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 |