Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Recupera uma enumeração que permite que um cliente itere por meio dos deslocamentos MSIL dentro de um intervalo de endereços especificado.
Sintaxe
HRESULT findILOffsetsByAddr (
DWORD isect,
DWORD offset,
DWORD length,
IDiaEnumLineNumbers** ppResult
);
Parâmetros
isect
[in] Especifica o componente de seção do endereço específico.
offset
[in] Especifica o componente de deslocamento do endereço específico.
length
[in] Especifica o número de bytes do intervalo de endereços a ser incluído na consulta.
ppResult
[fora] Retorna um IDiaEnumLineNumbers objeto que contém uma lista de todos os deslocamentos MSIL que cobrem o intervalo de endereços especificado.
Valor de retorno
Se tiver êxito, retornará S_OK. Caso contrário, retornará um código de erro.
Exemplo
Este exemplo mostra uma função que obtém todo o deslocamento MSIL contido em uma função usando o endereço e o comprimento da função.
IDiaEnumLineNumbers* GetLineNumbersByAddr(IDiaSymbol *pFunc,
IDiaSession *pSession)
{
IDiaEnumLineNumbers* pEnum = NULL;
DWORD seg;
DWORD offset;
ULONGLONG length;
if (pFunc->get_addressSection ( &seg ) == S_OK &&
pFunc->get_addressOffset ( &offset ) == S_OK)
{
pFunc->get_length ( &length );
pSession->findILOffsetsByAddr( seg, offset, static_cast<DWORD>( length ), &pEnum );
}
return(pEnum);
}