IDiaSession::findILOffsetsByRVA
擷取列舉,允許用戶端逐一查看指定位址範圍內的 MSIL 位移。
語法
HRESULT findILOffsetsByRVA (
DWORD rva,
DWORD length,
IDiaEnumLineNumbers** ppResult
);
參數
rva
[in] 將位址指定為 RVA。
length
[in] 指定此查詢所涵蓋的位址範圍位元組數目。
ppResult
[out] IDiaEnumLineNumbers
傳回 物件,其中包含涵蓋指定位址範圍的所有 MSIL 位移清單。
傳回值
如果成功,則會傳回 S_OK
;否則,會傳回錯誤碼。
範例
此範例示範函式,該函式會使用函式的位址和長度,取得函式中包含的所有 MSIL 位移。
IDiaEnumLineNumbers* GetLineNumbersByAddr(IDiaSymbol *pFunc,
IDiaSession *pSession)
{
IDiaEnumLineNumbers* pEnum = NULL;
DWORD rva = 0;
ULONGLONG length;
if (pFunc->get_relativeVirtualAddress ( &rva ) == S_OK)
{
pFunc->get_length ( &length );
pSession->findILOffsetsByRVA( rva, static_cast<DWORD>( length ), &pEnum );
}
return(pEnum);
}