Método de ICorProfilerInfo::GetILToNativeMapping
Obtém um mapa da Microsoft intermediate language (MSIL) desloca para deslocamentos nativos para o código contido na função especificada.
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] A identificação da função que contém o código.cMap
[in] O tamanho máximo de map matriz.pcMap
[out] O número total de disponível COR_DEBUG_IL_TO_NATIVE_MAP estruturas.map
[out] Uma matriz de COR_DEBUG_IL_TO_NATIVE_MAP estruturas, cada qual especifica a deslocamentos. Após a GetILToNativeMapping método retorna, map irá conter algumas ou todas as COR_DEBUG_IL_TO_NATIVE_MAP estruturas.
Comentários
O GetILToNativeMapping método retorna uma matriz de COR_DEBUG_IL_TO_NATIVE_MAP estruturas. Para transmitir que certos intervalos de instruções nativas correspondem às regiões especiais de código (por exemplo, o prólogo), uma entrada na matriz pode ter sua ilOffset campo definido como um valor a CorDebugIlToNativeMappingTypes enumeração.
Depois de GetILToNativeMapping retorna, você deve verificar se a map buffer era grande o suficiente para conter todos os COR_DEBUG_IL_TO_NATIVE_MAP estruturas. Para fazer isso, compare o valor de cMap com o valor de pcMap parâmetro. Se a pcMap valor, quando ele é multiplicado pelo tamanho de um COR_DEBUG_IL_TO_NATIVE_MAP estrutura, é maior do que cMap, alocar uma maior map buffer, a atualização cMap com o novo tamanho maior e a chamada GetILToNativeMapping novamente.
Como alternativa, você pode primeiro chamar GetILToNativeMapping com um comprimento zero map o buffer para obter o tamanho de buffer correto. Além disso, você pode então definir o tamanho do buffer para o valor retornado em pcMap e chame GetILToNativeMapping novamente.
Para obter mais informações sobre essas duas abordagens, consulte Buffers de Caller-Allocated.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: Corprof. idl, CorProf.h
Biblioteca: CorGuids.lib
.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0