Aracılığıyla paylaş


IDiaEnumSymbols

Veri kaynağında bulunan çeşitli simgeleri numaralandırır.

Sözdizimi

IDiaEnumSymbols : IUnknown

Vtable Sırasına Göre Yöntemler

Aşağıdaki tabloda yönteminin yöntemleri gösterilmektedir IDiaEnumSymbols.

Metot Açıklama
IDiaEnumSymbols::get__NewEnum IEnumVARIANT Interface Bu numaralandırıcının sürümünü alır.
IDiaEnumSymbols::get_Count Simge sayısını alır.
IDiaEnumSymbols::Item Bir simgeyi dizin yoluyla alır.
IDiaEnumSymbols::Next Sabit listesi dizisinde belirtilen sayıda simge alır.
IDiaEnumSymbols::Skip Bir numaralandırma dizisinde belirtilen sayıda simgeyi atlar.
IDiaEnumSymbols::Reset Bir numaralandırma dizisini en başa sıfırlar.
IDiaEnumSymbols::Clone Geçerli numaralandırıcıyla aynı numaralandırma durumunu içeren bir numaralandırıcı oluşturur.

Açıklamalar

Bu arabirim, belirli bir simge türüne (kullanıcı SymTagUDT tanımlı türler (UDF)) veya SymTagBaseClassgöre gruplandırılmış simgeler sağlar. Adrese göre gruplandırılmış simgelerle çalışmak için IDiaEnumSymbolsByAddr arabirimini kullanın.

Arayanlar İçin Notlar

Aşağıdaki yöntemleri çağırarak bu arabirimi alın:

Örnek

Bu örnek, arabirimin IDiaEnumSymbols nasıl alındığını ve kullanıcı tanımlı türleri (UDT) listelemek için bu numaralandırmanın nasıl kullanılacağını gösterir.

Not

CDiaBSTR , bir sarmalayan ve örnekleme kapsam dışına çıktığında dizeyi serbest bırakma işlemini otomatik olarak işleyen bir BSTR sınıftır.

void ShowUDTs(IDiaSymbol *pGlobals)
{
    CComPtr<IDiaEnumSymbols> pEnum;
    CComPtr<IDiaSymbol> pSymbol;
    HRESULT hr;

    hr = pGlobals->findChildren(SymTagUDT,
                                NULL,
                                nsfCaseInsensitive | nsfUndecoratedName,
                                &pEnum);
    if (hr == S_OK)
    {
        while ( SUCCEEDED( hr = pEnum->Next( 1, &pSymbol, &celt ) ) &&
                celt == 1 )
        {
            CDiaBSTR name;
            if ( pSymbol->get_name( &name ) != S_OK )
                Fatal( "get_name" );
            printf( "Found UDT: %ws\n", name );
            pSymbol = 0;
        }
    }
}

Gereksinimler

Üst bilgi: Dia2.h

Kitaplık: diaguids.lib

DLL: msdia80.dll

Ayrıca bkz.