Método ICorProfilerInfo4::GetCodeInfo3
Obtém as extensões do código nativo associados à versão recompilada do JIT da função especificada.
Sintaxe
HRESULT GetCodeInfo3(
[in] FunctionID functionID,
[in] ReJITID reJitId,
[in] ULONG32 cCodeInfos,
[out] ULONG32 *pcCodeInfos,
[out, size_is(cCodeInfos), length_is(*pcCodeInfos)]
COR_PRF_CODE_INFO codeInfos[]);
Parâmetros
functionID
[in] O ID da função com a qual o código nativo está associado.
reJitId
[in] A identidade da função recompilada JIT.
cCodeInfos
[in] O tamanho da codeInfos
matriz.
pcCodeInfos
[fora] Um ponteiro para o número total de estruturas de COR_PRF_CODE_INFO disponíveis.
codeInfos
[fora] Uma memória intermédia fornecida por um autor da chamada. Após a devolução do método, contém uma matriz de COR_PRF_CODE_INFO
estruturas, cada uma das quais descreve um bloco de código nativo.
Observações
O GetCodeInfo3
método é semelhante a GetCodeInfo2, exceto que obterá o ID recompilado do JIT da função que contém o endereço IP especificado.
Nota
GetCodeInfo3
pode acionar uma coleção de lixo, enquanto GetCodeInfo2 não. Para obter mais informações, veja o CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT.
As extensões são ordenadas por ordem de aumento do desvio da Linguagem Intermédia Comum (CIL).
Após GetCodeInfo3
a devolução, tem de verificar se a codeInfos
memória intermédia era suficientemente grande para conter todas as estruturas COR_PRF_CODE_INFO . Para tal, compare o valor de cCodeInfos
com o valor do cchName
parâmetro. Se cCodeInfos
dividido pelo tamanho de uma estrutura de COR_PRF_CODE_INFO for menor do que pcCodeInfos
, aloque uma memória intermédia maior codeInfos
, atualize cCodeInfos
com o novo tamanho maior e chame GetCodeInfo3
novamente.
Em alternativa, pode chamar GetCodeInfo3
primeiro com uma memória intermédia de comprimento codeInfos
zero para obter o tamanho da memória intermédia correto. Em seguida, pode definir o tamanho da codeInfos
memória intermédia para o valor devolvido em pcCodeInfos
, multiplicado pelo tamanho de uma estrutura COR_PRF_CODE_INFO e chamar GetCodeInfo3
novamente.
Requisitos
Plataformas: Veja Requisitos do Sistema.
Cabeçalho: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
.NET Framework Versões: Disponível desde 4.5