IDiaEnumSymbols
Énumère les divers symboles contenus dans la source de données.
Syntaxe
IDiaEnumSymbols : IUnknown
Méthodes dans l'ordre Vtable
Le tableau suivant présente les méthodes de IDiaEnumSymbols
.
Méthode | Description |
---|---|
IDiaEnumSymbols::get__NewEnum | Récupère la version IEnumVARIANT Interface de cet énumérateur. |
IDiaEnumSymbols::get_Count | Récupère le nombre de symboles. |
IDiaEnumSymbols::Item | Récupère un symbole au moyen d’un index. |
IDiaEnumSymbols::Next | Récupère un nombre spécifié de symboles dans la séquence d’énumération. |
IDiaEnumSymbols::Skip | Récupère un nombre spécifié de symboles dans une séquence d’énumération. |
IDiaEnumSymbols::Reset | Réinitialise une séquence d'énumération. |
IDiaEnumSymbols::Clone | Crée un énumérateur qui contient le même état d’énumération que l’énumérateur actuel. |
Notes
Cette interface fournit des symboles regroupés par un type spécifique de symbole, par exemple SymTagUDT
(types définis par l’utilisateur )) ou SymTagBaseClass
. Pour utiliser des symboles regroupés par adresse, utilisez l’interface IDiaEnumSymbolsByAddr.
Remarques pour les appelants
Obtenez cette interface en appelant les méthodes suivantes :
Exemple
Cet exemple montre comment obtenir l’interface IDiaEnumSymbols
et comment se servir de cette énumération pour lister les types définis par l’utilisateur (UDT).
Notes
CDiaBSTR
est une classe qui encapsule un BSTR
et qui gère automatiquement la libération de la chaîne quand l’instanciation sort de l’étendue.
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