Partilhar via


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

Ver também