Método IDebugHostPublic::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 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 valor simples Symbol 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.
Retornar valor
Esse método retorna HRESULT que indica êxito ou falha.
Comentários
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 |