Compartilhar via


Método ICorProfilerInfo::GetILToNativeMapping

Obtém um mapa de deslocamentos de linguagem intermediária comum (CIL) para deslocamentos nativos para o código contido na função especificada.

Sintaxe

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 [em] A ID da função que contém o código.

cMap [in] O tamanho máximo da matriz map.

pcMap [out] O número total de estruturas de COR_DEBUG_IL_TO_NATIVE_MAP disponíveis.

map [saiu] Uma matriz de COR_DEBUG_IL_TO_NATIVE_MAP estruturas, cada uma das quais especifica os deslocamentos. Depois que o método GetILToNativeMapping retornar, map conterá algumas das ou todas as estruturas COR_DEBUG_IL_TO_NATIVE_MAP.

Comentários

O método GetILToNativeMapping retorna uma matriz de estruturas COR_DEBUG_IL_TO_NATIVE_MAP. Para transmitir que determinados intervalos de instruções nativas correspondem a regiões especiais de código (por exemplo, o diálogo), uma entrada na matriz pode ter seu campo ilOffset definido como um valor da enumeração CorDebugIlToNativeMappingTypes.

Após o retorno de GetILToNativeMapping, você deverá verificar se o buffer map era grande o suficiente para conter todas as estruturas COR_DEBUG_IL_TO_NATIVE_MAP. Para fazer isso, compare o valor de cMapcom o valor do parâmetro pcMap. Se o valor pcMap, quando for multiplicado pelo tamanho de uma estrutura COR_DEBUG_IL_TO_NATIVE_MAP for maior do que cMap, aloque um buffer map maior, atualize cMap com o novo tamanho maior e chame GetILToNativeMapping novamente.

Como alternativa, primeiro você pode chamar GetILToNativeMapping com um buffer map de comprimento zero para obter o tamanho correto do buffer. Em seguida, você pode definir o tamanho do buffer como o valor retornado em pcMap e chamar GetILToNativeMapping novamente.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: disponíveis desde 2.0

Confira também