Share via


Método ICorProfilerInfo4::GetCodeInfo3

Obtém as extensões do código nativo associado à versão recompilada por 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] A ID da função com a qual o código nativo está associado.

reJitId
[in] A identidade da função recompilada por JIT.

cCodeInfos
[in] O tamanho da matriz codeInfos.

pcCodeInfos
[out] Um ponteiro para o número total de estruturas de COR_PRF_CODE_INFO disponíveis.

codeInfos
[out] Um buffer fornecido pelo chamador. Depois que o método é retornado, ele contém uma matriz de estruturas COR_PRF_CODE_INFO cada uma delas descreve um bloco de código nativo.

Comentários

O método GetCodeInfo3 é semelhante ao GetCodeInfo2, exceto que ele obterá a ID recompilada por JIT da função que contém o endereço IP especificado.

Observação

GetCodeInfo3 pode disparar uma coleta de lixo, enquanto GetCodeInfo2 não pode. Para obter mais informações, consulte o CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT.

As extensões são classificadas para aumentar o deslocamento da CIL (Common Intermediate Language).

Após o retorno de GetCodeInfo3, você deve verificar se o buffer codeInfos era grande o suficiente para conter todas as estruturas COR_PRF_CODE_INFO. Para fazer isso, compare o valor de cCodeInfoscom o valor do parâmetro cchName. Se cCodeInfos dividido pelo tamanho de uma estrutura COR_PRF_CODE_INFO for menor do que pcCodeInfos, aloque um buffer codeInfos maior, atualize cCodeInfos com o novo tamanho maior e chame GetCodeInfo3 novamente.

Como alternativa, primeiro você pode chamar GetCodeInfo3 com um buffer codeInfos de comprimento zero para obter o tamanho correto do buffer. Em seguida, você pode definir o tamanho do buffer codeInfos para o valor retornado em pcCodeInfos, multiplicado pelo tamanho de uma estrutura COR_PRF_CODE_INFO e chamar GetCodeInfo3 novamente.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: disponíveis desde 4.5

Confira também