共用方式為


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);
}

另請參閱