Metode IDebugHostPublic::EnumerateChildren (dbgmodel.h)
Metode EnumerateChildren mengembalikan enumerator yang akan menghitung semua anak dari simbol tertentu. Untuk jenis C++, misalnya, kelas dasar, bidang, fungsi anggota, dan sejenisnya semuanya dianggap sebagai turunan dari simbol jenis.
Sintaks
HRESULT EnumerateChildren(
SymbolKind kind,
PCWSTR name,
IDebugHostSymbolEnumerator **ppEnum
);
Parameter
kind
Menunjukkan jenis simbol anak apa yang ingin dijumlahkan oleh pemanggil. Jika nilai datar Simbol dilewatkan, semua jenis simbol anak akan dijumlahkan.
name
Jika ditentukan, hanya simbol anak dengan nama seperti yang diberikan dalam argumen ini yang akan dijumlahkan.
ppEnum
Enumerator yang menghitung simbol anak dari jenis dan nama yang ditentukan akan dikembalikan di sini.
Nilai kembali
Metode ini mengembalikan HRESULT yang menunjukkan keberhasilan atau kegagalan.
Keterangan
Sampel Kode
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
}
Persyaratan
Persyaratan | Nilai |
---|---|
Header | dbgmodel.h |