Método ICorProfilerInfo::GetILToNativeMapping
Obtém um MAP de Microsoft intermediate linguagem (MSIL) desloca para deslocamentos nativo 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 ID da função que contém o código.cMap
[in] O dimensionar máximo do map matriz.pcMap
[out] O número total de de disponívelCOR_DEBUG_IL_TO_NATIVE_MAP estruturas.map
[out] Uma matriz de COR_DEBUG_IL_TO_NATIVE_MAP estruturas, cada uma das quais Especifica os deslocamentos. Após o GetILToNativeMapping método retorna, map conterá alguns ou todos os COR_DEBUG_IL_TO_NATIVE_MAP estruturas.
Comentários
The GetILToNativeMapping método retorna uma matriz de COR_DEBUG_IL_TO_NATIVE_MAP estruturas. Para transmitir que determinadas faixas 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 conjunto para um valor da CorDebugIlToNativeMappingTypes enumeração.
Depois de GetILToNativeMapping Retorna, você deve verificar que o map buffer era grande o suficiente para conter todos os COR_DEBUG_IL_TO_NATIVE_MAP estruturas. Para fazer isso, comparar o valor de cMap com o valor das pcMap parâmetro. Se o pcMap valor, quando é multiplicado pelo dimensionar de um COR_DEBUG_IL_TO_NATIVE_MAP estrutura, é maior que cMap, alocar uma maior map buffer, atualização cMap com a novo e maior dimensionar e telefonar GetILToNativeMapping novamente.
Como alternativa, você pode primeiro telefonar GetILToNativeMapping com um comprimento zero map buffer para obter o dimensionar do buffer correto. Você pode então conjunto o dimensionar do buffer para o valor retornado em pcMap e chame GetILToNativeMapping novamente.
Para obter mais informações sobre essas duas abordagens, consulte Buffers alocados chamador.
Requisitos
Plataformas: See Requisitos de sistema do .NET framework.
Cabeçalho: CorProf.idl
Biblioteca: CorGuids.lib
.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0