ICorProfilerInfo::GetILToNativeMapping – metoda
Získá mapu z běžných mezilehlých jazyků (CIL) posuny na nativní posuny kódu obsaženého v zadané funkci.
Syntaxe
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[]);
Parametry
functionId
[v] ID funkce, která obsahuje kód.
cMap
[v] Maximální velikost map
pole.
pcMap
[ven] Celkový počet dostupných COR_DEBUG_IL_TO_NATIVE_MAP struktur.
map
[ven] Pole COR_DEBUG_IL_TO_NATIVE_MAP
struktur, z nichž každá určuje posuny. GetILToNativeMapping
Po vrácení map
metody bude obsahovat některé nebo všechny COR_DEBUG_IL_TO_NATIVE_MAP
struktury.
Poznámky
Metoda GetILToNativeMapping
vrátí pole COR_DEBUG_IL_TO_NATIVE_MAP
struktur. Aby bylo možné sdělit, že určité oblasti nativních instrukcí odpovídají speciálním oblastem kódu (například prolog), může mít položka v poli nastavené pole ilOffset
na hodnotu CorDebugIlToNativeMappingTypes výčtu .
Po GetILToNativeMapping
vrácení musíte ověřit, že map
vyrovnávací paměť byla dostatečně velká, aby obsahovala všechny COR_DEBUG_IL_TO_NATIVE_MAP
struktury. Uděláte to tak, že porovnáte hodnotu cMap
s hodnotou parametru pcMap
. pcMap
Pokud je hodnota vynásobená velikostí COR_DEBUG_IL_TO_NATIVE_MAP
struktury, je větší než cMap
, přidělit větší map
vyrovnávací paměť, aktualizovat cMap
novou, větší velikost a znovu zavolatGetILToNativeMapping
.
Případně můžete nejprve zavolat GetILToNativeMapping
vyrovnávací paměť s nulovou délkou map
, abyste získali správnou velikost vyrovnávací paměti. Velikost vyrovnávací paměti pak můžete nastavit na hodnotu vrácenou a pcMap
znovu zavolat GetILToNativeMapping
.
Požadavky
Platformy: Viz požadavky na systém.
Hlavička: CorProf.idl, CorProf.h
Knihovna: CorGuids.lib
Verze rozhraní .NET Framework: Dostupné od verze 2.0