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 pcCodeInfos
souboru 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