Compartir por


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.

Syntax

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 map matriz.

pcMap [out] Número total de estructuras de 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. Una vez devuelto el GetILToNativeMapping método , map contendrá algunas o todas las COR_DEBUG_IL_TO_NATIVE_MAP estructuras.

Observaciones

El GetILToNativeMapping método devuelve una matriz de COR_DEBUG_IL_TO_NATIVE_MAP estructuras. Para transmitir que determinados intervalos de instrucciones nativas corresponden a regiones especiales de código (por ejemplo, el prólogo), una entrada de la matriz puede tener su ilOffset campo establecido en un valor de la enumeración CorDebugIlToNativeMappingTypes .

Después GetILToNativeMapping de la devolución, debe comprobar que el map búfer era lo suficientemente grande como para contener todas las COR_DEBUG_IL_TO_NATIVE_MAP estructuras. Para ello, compare el valor de cMap con el valor del pcMap parámetro . Si el pcMap valor, cuando se multiplica por el tamaño de una COR_DEBUG_IL_TO_NATIVE_MAP estructura, es mayor que cMap, asigna un búfer mayor map , actualiza cMap con el nuevo tamaño mayor y vuelve a llamar a GetILToNativeMapping .

Como alternativa, puede llamar GetILToNativeMapping primero con un búfer de longitud map cero para obtener el tamaño correcto del búfer. A continuación, puede establecer el tamaño del búfer en el valor devuelto en pcMap y volver a llamar a GetILToNativeMapping .

Requisitos

Plataformas: Consulte Requisitos del sistema.

Encabezado: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versiones de .NET Framework: Disponible desde la versión 2.0

Consulte también