Sdílet prostřednictvím


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

Viz také