Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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);
}