ICorProfilerInfo4::GetCodeInfo3 — Metoda
Pobiera zakresy kodu natywnego skojarzonego z ponownie skompilowaną wersją określonej funkcji JIT.
Składnia
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
[w] Identyfikator funkcji, z którą jest skojarzony kod natywny.
reJitId
[w] Tożsamość funkcji JIT-recompiled.
cCodeInfos
[w] Rozmiar tablicy codeInfos
.
pcCodeInfos
[out] Wskaźnik do całkowitej liczby dostępnych struktur COR_PRF_CODE_INFO .
codeInfos
[out] Bufor dostarczany przez obiekt wywołujący. Po powrocie metody zawiera tablicę COR_PRF_CODE_INFO
struktur, z których każdy opisuje blok kodu natywnego.
Uwagi
Metoda jest podobna GetCodeInfo3
do GetCodeInfo2, z tą różnicą, że otrzyma ponownie skompilowany identyfikator funkcji JIT, która zawiera określony adres IP.
Uwaga
GetCodeInfo3
może wyzwolić odzyskiwanie pamięci, natomiast polecenie GetCodeInfo2 nie zostanie uruchomione. Aby uzyskać więcej informacji, zobacz CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT.
Zakresy są sortowane w kolejności zwiększania przesunięcia wspólnego języka pośredniego (CIL).
Po GetCodeInfo3
powrocie należy sprawdzić, czy codeInfos
bufor był wystarczająco duży, aby zawierał wszystkie struktury COR_PRF_CODE_INFO . W tym celu porównaj wartość parametru cCodeInfos
z wartością parametru cchName
. Jeśli cCodeInfos
rozmiar struktury COR_PRF_CODE_INFO jest mniejszy niż pcCodeInfos
, przydziel większy codeInfos
bufor, zaktualizuj cCodeInfos
za pomocą nowego, większego rozmiaru i wywołaj GetCodeInfo3
ponownie.
Alternatywnie można najpierw wywołać GetCodeInfo3
bufor o zerowej długości codeInfos
, aby uzyskać prawidłowy rozmiar buforu. Następnie można ustawić rozmiar buforu codeInfos
na wartość zwróconą w pliku pcCodeInfos
, pomnożony przez rozmiar struktury COR_PRF_CODE_INFO i wywołać GetCodeInfo3
ponownie.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: CorProf.idl, CorProf.h
Biblioteki: CorGuids.lib
.NET Framework wersje: dostępne od wersji 4.5