Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
É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