ICorProfilerInfo::GetILToNativeMapping-metod
Hämtar en karta från CIL-förskjutningar (Common Intermediate Language) till inbyggda förskjutningar för koden som finns i den angivna funktionen.
Syntax
HRESULT GetILToNativeMapping(
[in] FunctionID functionId,
[in] ULONG32 cMap,
[out] ULONG32 *pcMap,
[out, size_is(cMap), length_is(*pcMap)]
COR_DEBUG_IL_TO_NATIVE_MAP map[]);
Parametrar
functionId
[i] ID:t för funktionen som innehåller koden.
cMap
[i] Matrisens map
maximala storlek.
pcMap
[ut] Det totala antalet tillgängliga COR_DEBUG_IL_TO_NATIVE_MAP strukturer.
map
[ut] En matris med COR_DEBUG_IL_TO_NATIVE_MAP
strukturer som var och en anger förskjutningarna. GetILToNativeMapping
När metoden har returnerats map
innehåller den vissa eller alla COR_DEBUG_IL_TO_NATIVE_MAP
strukturer.
Kommentarer
Metoden GetILToNativeMapping
returnerar en matris med COR_DEBUG_IL_TO_NATIVE_MAP
strukturer. För att förmedla att vissa intervall med inbyggda instruktioner motsvarar särskilda kodregioner (till exempel prolog) kan en post i matrisen ha sitt ilOffset
fält inställt på värdet cordebugIlToNativeMappingTypes-uppräkning .
När GetILToNativeMapping
du har returnerat den måste du kontrollera att bufferten map
var tillräckligt stor för att innehålla alla COR_DEBUG_IL_TO_NATIVE_MAP
strukturer. Det gör du genom att jämföra värdet cMap
för med värdet för parametern pcMap
. pcMap
Om värdet, när det multipliceras med storleken på en COR_DEBUG_IL_TO_NATIVE_MAP
struktur, är större än cMap
allokerar du en större map
buffert, uppdaterar cMap
med den nya, större storleken och anropar GetILToNativeMapping
igen.
Du kan också först anropa GetILToNativeMapping
med en buffert med noll längd map
för att få rätt buffertstorlek. Du kan sedan ange buffertstorleken till det värde som returneras och pcMap
anropa GetILToNativeMapping
igen.
Krav
Plattformar: Se Systemkrav.
Rubrik: CorProf.idl, CorProf.h
Bibliotek: CorGuids.lib
.NET Framework-versioner: Tillgänglig sedan 2.0