ICorProfilerInfo4::GetCodeInfo3, metod
Hämtar omfattningen av inbyggd kod som är associerad med den JIT-omkompilerade versionen av den angivna funktionen.
Syntax
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[]);
Parametrar
functionID
[in] ID för funktionen som den interna koden är associerad med.
reJitId
[in] Identiteten för den JIT-omkompilerade funktionen.
cCodeInfos
[in] Matrisens codeInfos
storlek.
pcCodeInfos
[ut] En pekare till det totala antalet tillgängliga COR_PRF_CODE_INFO strukturer.
codeInfos
[ut] En buffert som tillhandahålls av anroparen. När metoden har returnerats innehåller den en matris med COR_PRF_CODE_INFO
strukturer, som var och en beskriver ett block med intern kod.
Kommentarer
Metoden GetCodeInfo3
liknar GetCodeInfo2, förutom att den hämtar DET JIT-omkompilerade ID:t för funktionen som innehåller den angivna IP-adressen.
Anteckning
GetCodeInfo3
kan utlösa en skräpinsamling, medan GetCodeInfo2 inte gör det. Mer information finns i CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT.
Utrymmena sorteras i ordning för att öka CIL-förskjutningen (Common Intermediate Language).
När GetCodeInfo3
du har returnerat måste du kontrollera att bufferten codeInfos
var tillräckligt stor för att innehålla alla COR_PRF_CODE_INFO strukturer. Det gör du genom att jämföra värdet cCodeInfos
för med värdet för parametern cchName
. Om cCodeInfos
den divideras med storleken på en COR_PRF_CODE_INFO struktur är mindre än pcCodeInfos
allokerar du en större codeInfos
buffert, uppdaterar cCodeInfos
med den nya, större storleken och anropar GetCodeInfo3
igen.
Du kan också först anropa GetCodeInfo3
med en buffert med noll längd codeInfos
för att få rätt buffertstorlek. Du kan sedan ange buffertstorleken codeInfos
till det värde som returneras i pcCodeInfos
, multiplicerat med storleken på en COR_PRF_CODE_INFO struktur och anropa GetCodeInfo3
igen.
Krav
Plattformar: Se Systemkrav.
Huvudet: CorProf.idl, CorProf.h
Bibliotek: CorGuids.lib
.NET Framework versioner: Tillgänglig sedan 4.5