Bagikan melalui


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

Lihat juga

Antarmuka IDebugHostPublic