IDiaEnumFrameData
Énumère les différents éléments de donnée de frame contenus dans la source de données.
Syntaxe
IDiaEnumFrameData : IUnknown
Méthodes dans l'ordre Vtable
Le tableau suivant présente les méthodes de IDiaEnumFrameData
.
Méthode | Description |
---|---|
IDiaEnumFrameData::get__NewEnum | Récupère la version IEnumVARIANT Interface de cet énumérateur. |
IDiaEnumFrameData::get_Count | Récupère le nombre d’éléments de données frame. |
IDiaEnumFrameData::Item | Récupère un élément de données frame au moyen d’un index. |
IDiaEnumFrameData::Next | Récupère un nombre spécifié d’éléments de données frame dans la séquence d’énumération. |
IDiaEnumFrameData::Skip | Ignore un nombre spécifié d’éléments de données du frame dans la séquence d’énumération. |
IDiaEnumFrameData::Reset | Réinitialise une séquence d'énumération. |
IDiaEnumFrameData::Clone | Crée un énumérateur qui contient le même état d’énumération que l’énumérateur actuel. |
IDiaEnumFrameData::frameByRVA | Renvoie une image par adresse virtuelle relative (RVA). |
IDiaEnumFrameData::frameByVA | Retourne un frame par adresse virtuelle (VA). |
Notes
Remarques pour les appelants
Obtenez cette interface à partir de la méthode IDiaSession::getEnumTables . Pour plus de détails, voir les exemples.
Exemple
Cet exemple montre comment obtenir (la fonction GetEnumFrameData
) et utiliser (la fonction ShowFrameData
) l’interface IDiaEnumFrameData
. Pour obtenir un exemple de la fonction PrintFrameData
, consultez l’interface IDiaFrameData.
IDiaEnumFrameData* GetEnumFrameData(IDiaSession *pSession)
{
IDiaEnumFrameData* pUnknown = NULL;
REFIID iid = __uuidof(IDiaEnumFrameData);
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 ShowFrameData(IDiaSession *pSession)
{
IDiaEnumFrameData* pEnumFrameData = GetEnumFrameData(pSession);;
if (pEnumFrameData != NULL)
{
IDiaFrameData* pFrameData;
ULONG celt = 0;
while(pEnumFrameData->Next(1, &pFrameData, &celt) == S_OK &&
celt == 1)
{
PrintFrameData(pFrameData);
pFrameData->Release();
}
pEnumFrameData->Release();
}
}
Configuration requise
En-tête : Dia2.h
Bibliothèque : diaguids.lib
DLL : msdia80.dll
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour