Compartilhar via


Método ICorProfilerInfo9::GetCodeInfo4

Dado o endereço inicial do código nativo, retorna os blocos de memória virtual que armazenam esse código.

Sintaxe

HRESULT GetCodeInfo4( [in]  UINT_PTR pNativeCodeStartAddress,
                      [in]  ULONG32 cCodeInfos,
                      [out] ULONG32* pcCodeInfos,
                      [out] COR_PRF_CODE_INFO codeInfos[]);

Parâmetros

pNativeCodeStartAddress
[in] Um ponteiro para o início de uma função nativa.

cCodeInfos
[in] O tamanho da codeInfos matriz.

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 COR_PRF_CODE_INFO estruturas, cada uma delas descreve um bloco de código nativo.

Observações

O GetCodeInfo4 método é semelhante ao GetCodeInfo3, exceto pelo fato de que ele pode procurar informações de código para versões nativas diferentes de um método.

Observação

GetCodeInfo4 pode disparar uma coleta de lixo.

As extensões são classificadas em ordem de aumento do deslocamento de CIL (Common Intermediate Language).

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

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

Requisitos

Plataformas: Consulte sistemas operacionais com suporte do .NET.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versões do .NET: Disponível desde o .NET Core 2.1

Consulte também