IDiaEnumSymbols
énumère les différents symboles contenus dans la source de données.
IDiaEnumSymbols : IUnknown
méthodes en commande de Vtable
Le tableau suivant répertorie les méthodes d' IDiaEnumSymbols.
Méthode |
Description |
---|---|
Récupère la version d' IEnumVARIANT Interface de cet énumérateur. |
|
Récupère le nombre de symboles. |
|
Récupère un symbole au moyen d'un index. |
|
Récupère un nombre spécifié de symboles dans la séquence d'énumération. |
|
Ignore un nombre spécifié de symboles dans une séquence d'énumération. |
|
réinitialise une séquence d'énumération au début. |
|
crée un énumérateur qui contient le même état d'énumération que l'énumérateur actuel. |
Notes
Cette interface fournit les symboles regroupés par un type spécifique de symbole, par exemple, d' SymTagUDT (types définis par l'utilisateur) ou d' SymTagBaseClass. Pour utiliser des symboles regroupés par l'adresse, utilisez l'interface d' IDiaEnumSymbolsByAddr .
Remarques pour les appelants
obtenez cette interface en appelant les méthodes suivantes :
Exemple
Cet exemple montre comment obtenir l'interface d' IDiaEnumSymbols puis utiliser cette énumération pour répertorier les types définis par l'utilisateur (UDTs).
Notes
CDiaBSTR est une classe qui encapsule BSTR et automatiquement les handles libérant la chaîne lorsque l'instanciation est hors de portée.
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;
}
}
}
Configuration requise
en-tête : Dia2.h
bibliothèque : diaguids.lib
DLL : msdia80.dll
Voir aussi
Référence
IDiaSourceFile::get_compilands
Autres ressources
Interfaces (Kit de développement logiciel de Debug Interface Access)