IDiaEnumInputAssemblyFiles
Énumérez les fichiers d’assembly d’entrée répertoriés dans la source de données.
Syntaxe
IDiaEnumInputAssemblyFiles : IUnknown
Méthodes dans l'ordre Vtable
Le tableau suivant présente les méthodes de IDiaEnumInputAssemblyFiles
.
Méthode | Description |
---|---|
IDiaEnumInputAssemblyFiles ::get__NewEnum | Récupère la version de l’interface IEnumVARIANT de cet énumérateur. |
IDiaEnumInputAssemblyFiles ::get_Count | Récupère le nombre de fichiers d’assembly d’entrée. |
IDiaEnumInputAssemblyFiles ::Item | Récupère un fichier d’assembly d’entrée au moyen d’un index. |
IDiaEnumInputAssemblyFiles ::Next | Récupère un nombre spécifié de fichiers d’assembly d’entrée dans la séquence d’énumération. |
IDiaEnumInputAssemblyFiles ::Skip | Ignore un nombre spécifié de fichiers d’assembly d’entrée dans une séquence d’énumération. |
IDiaEnumInputAssemblyFiles ::Reset | Réinitialise une séquence d'énumération. |
IDiaEnumInputAssemblyFiles ::Clone | Crée un autre énumérateur qui contient le même état d’énumération que l’actuel. |
Remarques
Remarques pour les appelants
Cette interface est obtenue en appelant la méthode IDiaSession ::findInputAssemblyFiles avec le nom d’un fichier source spécifique ou en appelant la méthode IDiaSession ::getEnumTables avec l’identificateur global unique (GUID) de l’interface IDiaEnumInputAssemblyFiles
.
Exemple
Cet exemple montre comment obtenir (la fonction GetEnumInputAssemblyFiles
) et utiliser (la fonction DumpAllInputAssemblyFiles
) l’interface IDiaEnumInputAssemblyFiles
. Consultez l’interface IDiaPropertyStorage
pour obtenir une implémentation de la PrintPropertyStorage
fonction. Pour obtenir une autre sortie, consultez l’interface IDiaInputAssemblyFile
.
IDiaEnumInputAssemblyFiles* GetEnumInputAssemblyInputFiles(IDiaSession *pSession)
{
IDiaEnumInputAssemblyFiles* pUnknown = NULL;
REFIID iid = __uuidof(IDiaEnumInputAssemblyFiles);
IDiaEnumTables* pEnumTables = NULL;
IDiaTable* pTable = NULL;
ULONG celt = 0;
if (pSession->getEnumTables(&pEnumTables) != S_OK)
{
wprintf(L"ERROR - GetTable() getEnumTables\n");
return NULL;
}
while (pEnumTables->Next(1, &pTable, &celt) == S_OK && celt == 1)
{
// There is only one table that matches the given iid
HRESULT hr = pTable->QueryInterface(iid, (void**)&pUnknown);
pTable->Release();
if (hr == S_OK)
{
break;
}
}
pEnumTables->Release();
return pUnknown;
}
void DumpAllInputAssemblyFiles( IDiaSession* pSession)
{
IDiaEnumInputAssemblyFiles* pEnumInpAsmFiles;
pEnumInpAsmFiles = GetEnumInputAssemblyInputFiles(pSession);
if (pEnumInpAsmFiles != NULL)
{
IDiaInputAssemblyFile* pInpAsmFile;
ULONG celt = 0;
while(pEnumInpAsmFiles->Next(1, &pInpAsmFile, &celt) == S_OK &&
celt == 1)
{
IDiaPropertyStorage *pPropertyStorage;
if (pInpAsmFile->QueryInterface(__uuidof(IDiaPropertyStorage),
(void **)&pPropertyStorage) == S_OK)
{
PrintPropertyStorage(pPropertyStorage);
pPropertyStorage->Release();
}
pInpAsmFile->Release();
}
pEnumInpAsmFiles->Release();
}
}
Spécifications
En-tête : Dia2.h
Bibliothèque : diaguids.lib
DLL : msdia140.dll