IDiaEnumDebugStreamData
Fornece acesso aos registros em um fluxo de dados de depuração.
IDiaEnumDebugStreamData : IUnknown
Métodos na ordem de Vtable
A tabela a seguir mostra os métodos de IDiaEnumDebugStreamData.
Método |
Descrição |
---|---|
Recupera o IEnumVARIANT Interface versão deste enumerador. |
|
Recupera o número de registros no fluxo de dados de depuração. |
|
Recupera o nome do fluxo de dados de depuração. |
|
Recupera o registro especificado. |
|
Recupera o número especificado de registros da seqüência enumerada. |
|
Ignora um número especificado de registros em uma seqüência enumerado. |
|
Redefine a seqüência enumerada para o início. |
|
Cria um enumerador que contém a mesma seqüência enumerada como o enumerador atual. |
Comentários
Essa interface representa um fluxo de registros em um fluxo de dados de depuração. O tamanho e a interpretação de cada registro é dependente do fluxo de dados proveniente de registro. Efetivamente, essa interface fornece acesso para os bytes de dados não processados no arquivo de símbolo.
Observações para chamadores
Chamar o IDiaEnumDebugStreams::Item ou IDiaEnumDebugStreams::Next métodos para obter um IDiaEnumDebugStreamData objeto.
Exemplo
Este exemplo mostra como acessar um único fluxo de dados e seus registros.
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);
}
Requisitos
Cabeçalho: Dia2.h
Biblioteca: diaguids.lib
DLL: msdia80.dll