IDiaEnumSymbols
Wylicza różne symbole zawarte w źródle danych.
IDiaEnumSymbols : IUnknown
Metody w kolejności Vtable
W poniższej tabeli przedstawiono metody IDiaEnumSymbols.
Metoda |
Opis |
---|---|
Pobiera IEnumVARIANT Interface wersji ten moduł wyliczający. |
|
Pobiera numer symbole. |
|
Pobiera symbol z indeksu. |
|
Pobiera określoną liczbę symboli w sekwencji wyliczania. |
|
Pomija określoną liczbę symboli w sekwencji wyliczania. |
|
Resetuje sekwencji wyliczenie na początku. |
|
Tworzy moduł wyliczający zawierający tym samym stanie wyliczenie jako bieżący moduł wyliczający. |
Uwagi
Ten interfejs zapewnia symbole pogrupowane według określonego typu symbol, na przykład, SymTagUDT (typy zdefiniowane przez użytkownika) lub SymTagBaseClass.Aby pracować z symbolami w rozbiciu na adres, należy użyć IDiaEnumSymbolsByAddr interfejsu.
Uwagi do wywoływania
Należy uzyskać ten interfejs, wywołując następujące metody:
Przykład
Ten przykład pokazuje sposób uzyskiwania IDiaEnumSymbols interfejsu, a następnie użyć tego wyliczenia do listy typów zdefiniowanych przez użytkownika (UDTs).
[!UWAGA]
CDiaBSTRKlasa, która otacza jest BSTR i obsługuje automatyczne zwalnianie ciąg podczas wystąpienia wykracza poza zakres.
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;
}
}
}
Wymagania
Nagłówek: Dia2.h
Biblioteki: diaguids.lib
Biblioteka DLL: msdia80.dll
Zobacz też
Informacje
IDiaSourceFile::get_compilands