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 cMap
com 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