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 GetILToNativeMapping
map
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