Método IDebugHostBaseClass2::EnumerateChildren (dbgmodel.h)
O método EnumerateChildren retorna um enumerador que enumerará todos os filhos de um determinado símbolo. Para um tipo C++, por exemplo, as classes base, campos, funções de membro e similares são considerados filhos do símbolo de tipo.
Sintaxe
HRESULT EnumerateChildren(
SymbolKind kind,
PCWSTR name,
IDebugHostSymbolEnumerator **ppEnum
);
Parâmetros
kind
Indica quais tipos de símbolos filho o chamador deseja enumerar. Se o símbolo de valor simples for passado, todos os tipos de símbolos filho serão enumerados.
name
Se especificado, somente símbolos filho com um nome conforme fornecido neste argumento serão enumerados.
ppEnum
Um enumerador que enumera símbolos filho do tipo e nome especificados será retornado aqui.
Valor de retorno
Esse método retorna HRESULT que indica êxito ou falha.
Observações
de exemplo de código
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
}
Requisitos
Requisito | Valor |
---|---|
cabeçalho | dbgmodel.h |