IDiaSession::findLinesByRVA
Извлекает линии в указанном compiland, которые содержат заданный относительный виртуальный адрес (RVA).
HRESULT findLinesByRVA (
DWORD rva,
DWORD length,
IDiaEnumLineNumbers** ppResult
);
Параметры
rva
[in] определяет в качестве адреса RVA.length
[in] указывает число байтов диапазона адресов позволяет предусматривать с данным запросом.ppResult
[out] возвращает IDiaEnumLineNumbers объект, содержащий список всех чисел линии, которые покрывают указанный диапазон адресов.
Возвращаемое значение
В случае успеха возвращает S_OK; в противном случае возвращает код ошибки.
Пример
В этом примере показана функция, которая возвращает все числа линии, содержащихся в заданной функции с помощью функции относительный виртуальный адрес и длину.
IDiaEnumLineNumbers* GetLineNumbersByRVA(IDiaSymbol *pFunc, IDiaSession *pSession)
{
IDiaEnumLineNumbers* pEnum = NULL;
DWORD rva;
ULONGLONG length;
if (pFunc->get_relativeVirtualAddress ( &rva ) == S_OK)
{
pFunc->get_length ( &length );
pSession->findLinesByRVA( rva, static_cast<DWORD>( length ), &pEnum );
}
return(pEnum);
}