IDiaEnumDebugStreamData
permet d'accéder aux enregistrements dans un flux de données de débogage.
IDiaEnumDebugStreamData : IUnknown
méthodes en commande de Vtable
Le tableau suivant répertorie les méthodes d' IDiaEnumDebugStreamData.
Méthode |
Description |
---|---|
Récupère la version d' IEnumVARIANT Interface de cet énumérateur. |
|
Récupère le nombre d'enregistrements dans le flux de données de débogage. |
|
extrait le nom du flux de données de débogage. |
|
extrait l'enregistrement spécifié. |
|
Récupère le nombre d'enregistrements spécifié de la séquence énumérée. |
|
Ignore un nombre d'enregistrements spécifié dans une séquence énumérée. |
|
réinitialise la séquence énumérée au début. |
|
Crée un énumérateur qui contient la même séquence énumérée que l'énumérateur actuel. |
Notes
cette interface représente un flux de données des enregistrements dans un flux de données de débogage. La taille et la traduction de chaque enregistrement dépend du flux de données que l'enregistrement provient de. Cette interface permet d'accéder efficacement à des octets de données brutes dans le fichier de symboles.
Remarques pour les appelants
appelez les méthodes d' IDiaEnumDebugStreams::Item ou d' IDiaEnumDebugStreams::Next pour obtenir un objet d' IDiaEnumDebugStreamData .
Exemple
Cet exemple montre comment accéder à un flux unique 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
Voir aussi
Référence
Autres ressources
Interfaces (Kit de développement logiciel de Debug Interface Access)