Udostępnij za pośrednictwem


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

Zobacz też