IDiaEnumDebugStreamData
Fournit l’accès aux enregistrements dans un flux de données de débogage.
Syntax
IDiaEnumDebugStreamData : IUnknown
Méthodes dans l'ordre Vtable
Le tableau suivant présente les méthodes de IDiaEnumDebugStreamData
.
Méthode | Description |
---|---|
IDiaEnumDebugStreamData::get__NewEnum | Récupère la version de l’interface IEnumVARIANT de cet énumérateur. |
IDiaEnumDebugStreamData::get_Count | Récupère le nombre d’enregistrements dans le flux de données de débogage. |
IDiaEnumDebugStreamData::get_name | Récupère le nom du flux de données de débogage. |
IDiaEnumDebugStreamData::Item | Récupère l’enregistrement spécifié. |
IDiaEnumDebugStreamData::Next | Récupère le nombre spécifié d’enregistrements de la séquence énumérée. |
IDiaEnumDebugStreamData::Skip | Ignore un nombre spécifié d’enregistrements dans une séquence énumérée. |
IDiaEnumDebugStreamData::Reset | Réinitialise la séquence d'énumération au début. |
IDiaEnumDebugStreamData::Clone | Crée un énumérateur qui contient la même séquence énumérée que l’énumérateur actuel. |
Remarques
Cette interface représente un flux d’enregistrements dans un flux de données de débogage. La taille et l’interprétation de chaque enregistrement varient en fonction du flux de données d’où provient l’enregistrement. Cette interface fournit effectivement l’accès aux octets de données brutes dans le fichier de symboles.
Remarques pour les appelants
Appelez les méthodes IDiaEnumDebugStreams::Item ou IDiaEnumDebugStreams::Next pour obtenir un objet IDiaEnumDebugStreamData
.
Exemple
Cet exemple montre comment accéder à un flux de données et à ses enregistrements.
void PrintStreamData(IDiaEnumDebugStreamData* pStream)
{
BSTR wszName;
LONG dwElem;
ULONG celt = 0;
DWORD cbData;
DWORD cbTotal = 0;
BYTE data[1024];
if(pStream->get_name(&wszName) != S_OK)
{
wprintf_s(L"ERROR - PrintStreamData() get_name\n");
}
else
{
wprintf_s(L"Stream: %s", wszName);
SysFreeString(wszName);
}
if(pStream->get_Count(&dwElem) != S_OK)
{
wprintf(L"ERROR - PrintStreamData() get_Count\n");
}
else
{
wprintf(L"(%d)\n", dwElem);
}
while(pStream->Next(1, sizeof(data), &cbData, (BYTE *)&data, &celt) == S_OK)
{
DWORD i;
for (i = 0; i < cbData; i++)
{
wprintf(L"%02X ", data[i]);
if(i && i % 8 == 7 && i+1 < cbData)
{
wprintf(L"- ");
}
}
wprintf(L"| ");
for(i = 0; i < cbData; i++)
{
wprintf(L"%c", iswprint(data[i]) ? data[i] : '.');
}
wprintf(L"\n");
cbTotal += cbData;
}
wprintf(L"Summary :\n\tSizeof(Elem) = %d\n\tNo of Elems = %d\n\n",
cbTotal/dwElem, dwElem);
}
Configuration requise
En-tête : Dia2.h
Bibliothèque : diaguids.lib
DLL : msdia80.dll