ICorProfilerInfo9::GetCodeInfo4 — metoda
Biorąc pod uwagę adres początkowy kodu natywnego, zwraca bloki pamięci wirtualnej, które przechowują ten kod.
Składnia
HRESULT GetCodeInfo4( [in] UINT_PTR pNativeCodeStartAddress,
[in] ULONG32 cCodeInfos,
[out] ULONG32* pcCodeInfos,
[out] COR_PRF_CODE_INFO codeInfos[]);
Parametry
pNativeCodeStartAddress
[in] Wskaźnik na początek funkcji natywnej.
cCodeInfos
[in] Rozmiar tablicy codeInfos
.
pcCodeInfos
[out] Wskaźnik do całkowitej liczby dostępnych struktur COR_PRF_CODE_INFO .
codeInfos
[out] Bufor dostarczony 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 GetCodeInfo4
do GetCodeInfo3, z tą różnicą, że może wyszukać informacje o kodzie dla różnych natywnych wersji metody.
Uwaga
GetCodeInfo4
może wyzwolić odzyskiwanie pamięci.
Zakresy są sortowane w kolejności zwiększania przesunięcia wspólnego języka pośredniego (CIL).
Po GetCodeInfo4
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ść cCodeInfos
parametru 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
go przy użyciu nowego, większego rozmiaru i wywołaj GetCodeInfo4
ponownie.
Alternatywnie można najpierw wywołać GetCodeInfo4
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 pcCodeInfos
pliku , pomnożona przez rozmiar struktury COR_PRF_CODE_INFO i wywołać GetCodeInfo4
ponownie.
Wymagania
Platformy: zobacz Obsługiwane systemy operacyjne .NET.
Nagłówek: CorProf.idl, CorProf.h
Biblioteka: CorGuids.lib
Wersje platformy .NET: dostępne od wersji .NET Core 2.1