ICorProfilerInfo::GetILToNativeMapping (Método)
Obtiene un mapa de desplazamientos de lenguaje intermedio común (CIL) a desplazamientos nativos para el código contenido en la función especificada.
Sintaxis
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[]);
Parámetros
functionId
[in] Identificador de la función que contiene el código.
cMap
[in] Tamaño máximo de la matriz map
.
pcMap
[out] Número total de estructuras COR_DEBUG_IL_TO_NATIVE_MAP disponibles.
map
[out] Matriz de COR_DEBUG_IL_TO_NATIVE_MAP
estructuras, cada una de las cuales especifica los desplazamientos. Después de que el método GetILToNativeMapping
vuelva, map
contendrá algunas o todas las estructuras COR_DEBUG_IL_TO_NATIVE_MAP
.
Comentarios
El método GetILToNativeMapping
devuelve una matriz de estructuras COR_DEBUG_IL_TO_NATIVE_MAP
. Para indicar que algunos intervalos de instrucciones nativas se corresponden con regiones de código especiales (por ejemplo, el prólogo), es posible establecer el campo ilOffset
de una entrada de la matriz en un valor de la enumeración CorDebugIlToNativeMappingTypes.
Después de la devolución de GetILToNativeMapping
, debe comprobar que el búfer map
era lo suficientemente grande como para contener todas las estructuras COR_DEBUG_IL_TO_NATIVE_MAP
. Para ello, compare el valor de cMap
con el valor del parámetro pcMap
. Si el valor de pcMap
, al multiplicarlo por el tamaño de una estructura COR_DEBUG_IL_TO_NATIVE_MAP
, es mayor que cMap
, asigne un búfer map
mayor, actualice cMap
con el nuevo tamaño de mayores dimensiones y vuelva a llamar a GetILToNativeMapping
.
También tiene la opción de llamar primero a GetILToNativeMapping
con un búfer map
de longitud de cero para obtener el tamaño de búfer correcto. Después, puede establecer el tamaño del búfer en el valor devuelto en pcMap
y volver a llamar a GetILToNativeMapping
.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: disponible a partir de la versión 2.0