Dela via


ICorProfilerInfo9::GetCodeInfo4-metod

Med tanke på startadressen för den interna koden returnerar blocken för virtuellt minne som lagrar den här koden.

Syntax

HRESULT GetCodeInfo4( [in]  UINT_PTR pNativeCodeStartAddress,
                      [in]  ULONG32 cCodeInfos,
                      [out] ULONG32* pcCodeInfos,
                      [out] COR_PRF_CODE_INFO codeInfos[]);

Parametrar

pNativeCodeStartAddress
[i] En pekare till början av en intern funktion.

cCodeInfos
[i] 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 inbyggd kod.

Kommentarer

Metoden GetCodeInfo4 liknar GetCodeInfo3, förutom att den kan söka efter kodinformation för olika inbyggda versioner av en metod.

Kommentar

GetCodeInfo4 kan utlösa en skräpinsamling.

Omfattningarna sorteras i ordning för att öka CIL-förskjutningen (Common Intermediate Language).

När GetCodeInfo4 du har returnerat den 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 pcCodeInfosallokerar du en större codeInfos buffert, uppdaterar cCodeInfos med den nya, större storleken och anropar GetCodeInfo4 igen.

Du kan också först anropa GetCodeInfo4 med en buffert med noll längd codeInfos för att få rätt buffertstorlek. Du kan sedan ange buffertstorleken codeInfos till värdet som returneras i pcCodeInfos, multiplicerat med storleken på en COR_PRF_CODE_INFO struktur och anropa GetCodeInfo4 igen.

Behov

Plattformar: Se operativsystem som stöds av .NET.

Rubrik: CorProf.idl, CorProf.h

Bibliotek: CorGuids.lib

.NET-versioner: Finns sedan .NET Core 2.1

Se även