Compartir a través de


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

Consulte también