Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Fornisce l'accesso ai record in un flusso di dati di debug.
IDiaEnumDebugStreamData : IUnknown
Metodi nell'ordine di Vtable
Nella tabella seguente sono elencati i metodi di IDiaEnumDebugStreamData.
Metodo |
Descrizione |
|---|---|
recupera interfaccia di IEnumVARIANT versione di questo enumeratore. |
|
Recupera il numero di record nel flusso di dati di debug. |
|
Recupera il nome del flusso di dati di debug. |
|
recupera il record specificato. |
|
Recupera il numero di record dalla sequenza enumerata. |
|
Ignora un numero specificato di record in una sequenza enumerata. |
|
Reimposta la sequenza enumerata all'inizio. |
|
Crea un enumeratore che contiene la stessa sequenza enumerata enumeratore corrente. |
Note
Questa interfaccia rappresenta un flusso dei record in un flusso di dati di debug.La dimensione e l'interpretazione di ogni record dipende dal flusso di dati che il record deriva da.Questa interfaccia efficacemente fornisce l'accesso ai byte di dati non elaborati nel file di simboli.
Note per i chiamanti
chiamare IDiaEnumDebugStreams::Item o IDiaEnumDebugStreams::Next metodi per ottenere IDiaEnumDebugStreamData oggetto.
Esempio
In questo esempio viene illustrato come accedere a un singolo flusso di dati e i relativi record.
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);
}
Requisiti
intestazione: Dia2.h
raccolta: diaguids.lib
DLL: msdia80.dll