Udostępnij za pośrednictwem


ICorProfilerInfo::GetILToNativeMapping — Metoda

Pobiera mapę ze wspólnego języka pośredniego (CIL) przesunięcia na natywne przesunięcia dla kodu zawartego w określonej funkcji.

Składnia

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 [in] Identyfikator funkcji, która zawiera kod.

cMap [in] Maksymalny rozmiar tablicy map .

pcMap [out] Całkowita liczba dostępnych struktur COR_DEBUG_IL_TO_NATIVE_MAP.

map [out] Tablica COR_DEBUG_IL_TO_NATIVE_MAP struktur, z których każda określa przesunięcia. Po powrocie GetILToNativeMappingmap metody będzie zawierać niektóre lub wszystkie COR_DEBUG_IL_TO_NATIVE_MAP struktury.

Uwagi

Metoda GetILToNativeMapping zwraca tablicę COR_DEBUG_IL_TO_NATIVE_MAP struktur. Aby przekazać, że niektóre zakresy instrukcji natywnych odpowiadają specjalnym regionom kodu (na przykład prolog), wpis w tablicy może mieć jego ilOffset pole ustawione na wartość wyliczenia CorDebugIlToNativeMappingTypes .

Po GetILToNativeMapping powrocie należy sprawdzić, czy map bufor był wystarczająco duży, aby zawierał wszystkie COR_DEBUG_IL_TO_NATIVE_MAP struktury. W tym celu porównaj wartość cMap parametru z wartością parametru pcMap . pcMap Jeśli wartość jest pomnożona przez rozmiar COR_DEBUG_IL_TO_NATIVE_MAP struktury, jest większa niż cMap, przydziel większy map bufor, zaktualizuj cMap ją przy użyciu nowego, większego rozmiaru i wywołaj GetILToNativeMapping ponownie.

Alternatywnie można najpierw wywołać GetILToNativeMapping bufor o zerowej długości map , aby uzyskać prawidłowy rozmiar buforu. Następnie można ustawić rozmiar buforu na wartość zwróconą w pcMap pliku i wywołać GetILToNativeMapping ponownie.

Wymagania

Platformy: zobacz Wymagania systemowe.

Nagłówek: CorProf.idl, CorProf.h

Biblioteka: CorGuids.lib

Wersje programu .NET Framework: dostępne od wersji 2.0

Zobacz też