Sdílet prostřednictvím


ICorProfilerInfo4::GetCodeInfo3 – metoda

Získá rozsahy nativního kódu přidružené jit-rekompilované verze zadané funkce.

Syntaxe

HRESULT GetCodeInfo3(  
    [in]  FunctionID functionID,  
    [in]  ReJITID reJitId,  
    [in]  ULONG32 cCodeInfos,  
    [out] ULONG32 *pcCodeInfos,  
    [out, size_is(cCodeInfos), length_is(*pcCodeInfos)]  
    COR_PRF_CODE_INFO codeInfos[]);  

Parametry

functionID
[v] ID funkce, ke které je přidružen nativní kód.

reJitId
[v] Identita zkompilované funkce JIT.

cCodeInfos
[v] Velikost codeInfos pole.

pcCodeInfos
[out] Ukazatel na celkový počet dostupných struktur COR_PRF_CODE_INFO .

codeInfos
[out] Vyrovnávací paměť poskytovaná volajícím. Jakmile se metoda vrátí, obsahuje pole COR_PRF_CODE_INFO struktur, z nichž každá popisuje blok nativního kódu.

Poznámky

Metoda GetCodeInfo3 je podobná Metodě GetCodeInfo2 s tím rozdílem, že získá JIT-recompiled ID funkce, která obsahuje zadanou IP adresu.

Poznámka

GetCodeInfo3 může aktivovat uvolňování paměti, zatímco GetCodeInfo2 ne. Další informace najdete v CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT.

Rozsahy jsou seřazeny podle zvýšení posunu jazyka CIL (Common Intermediate Language).

Po GetCodeInfo3 vrácení je nutné ověřit, že codeInfos vyrovnávací paměť byla dostatečně velká, aby obsahovala všechny COR_PRF_CODE_INFO struktury. Provedete to tak, že porovnáte hodnotu cCodeInfos s hodnotou parametru cchName . Pokud cCodeInfos vydělíte velikostí COR_PRF_CODE_INFO je struktura menší než pcCodeInfos, přidělte větší codeInfos vyrovnávací paměť, aktualizujte cCodeInfos novou, větší velikost a zavolejte GetCodeInfo3 znovu.

Případně můžete nejprve volat GetCodeInfo3 vyrovnávací paměť nulové délky codeInfos , abyste získali správnou velikost vyrovnávací paměti. Pak můžete velikost vyrovnávací paměti nastavit codeInfos na hodnotu vrácenou v pcCodeInfossouboru v a vynásobenou velikostí struktury COR_PRF_CODE_INFO a volat GetCodeInfo3 znovu.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorProf.idl, CorProf.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 4.5

Viz také