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
[em] Um ponteiro para o início de uma função nativa.
cCodeInfos
[em] O tamanho da codeInfos
matriz.
pcCodeInfos
[saídas] Um ponteiro para o número total de estruturas de COR_PRF_CODE_INFO disponíveis.
codeInfos
[saídas] Um buffer fornecido pelo chamador. Depois que o método retorna, ele contém uma matriz de COR_PRF_CODE_INFO
estruturas, cada uma das quais descreve um bloco de código nativo.
Observações
O GetCodeInfo4
método é semelhante ao GetCodeInfo3, exceto que ele pode procurar informações de código para diferentes versões nativas de um método.
Nota
GetCodeInfo4
pode desencadear uma recolha de lixo.
As extensões são ordenadas por ordem crescente de compensação da Common Intermediate Language (CIL).
Após GetCodeInfo4
os retornos, você deve verificar se o codeInfos
buffer era grande o suficiente para conter todas as estruturas COR_PRF_CODE_INFO . Para fazer isso, compare o valor de com o valor do cCodeInfos
cchName
parâmetro. Se cCodeInfos
dividido pelo tamanho de uma estrutura de COR_PRF_CODE_INFOfor menor que pcCodeInfos
, aloque um buffer maiorcodeInfos
, 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 para o valor retornado em pcCodeInfos
, multiplicado pelo tamanho de uma estrutura de COR_PRF_CODE_INFO e chamar GetCodeInfo4
novamente.
Requisitos
Plataformas: Consulte Sistemas operacionais suportados pelo .NET.
Cabeçalho: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
Versões do .NET: Disponível desde o .NET Core 2.1