Condividi tramite


Metodo ICorProfilerInfo9::GetCodeInfo4

Dato l'indirizzo iniziale del codice nativo, restituisce i blocchi di memoria virtuale in cui è archiviato il codice.

Sintassi

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

Parametri

pNativeCodeStartAddress
[in] Puntatore all'inizio di una funzione nativa.

cCodeInfos
[in] Dimensione della matrice codeInfos.

pcCodeInfos
[out] Puntatore al numero complessivo di strutture COR_PRF_CODE_INFO disponibili.

codeInfos
[out] Buffer fornito dal chiamante. Una volta completato, il metodo contiene una matrice di strutture COR_PRF_CODE_INFO, ognuna delle quali descrive un blocco di codice nativo.

Osservazioni:

Il metodo GetCodeInfo4 è simile a GetCodeInfo3, ad eccezione del fatto che può cercare informazioni sul codice per versioni native diverse di un metodo.

Nota

GetCodeInfo4 può attivare un'operazione di Garbage Collection.

Gli ambiti vengono ordinati in sequenza crescente in base all'offset CIL (Common Intermediate Language).

Dopo la restituzione di GetCodeInfo4, è necessario verificare che il buffer codeInfos sia abbastanza grande per contenere tutte le strutture COR_PRF_CODE_INFO. A tale scopo, confrontare il valore di cCodeInfos con il valore del parametro cchName. Se il valore cCodeInfos, diviso per la dimensione di una struttura COR_PRF_CODE_INFO, è inferiore a pcCodeInfos, allocare un buffer codeInfos più grande, aggiornare cCodeInfos con la nuova dimensione maggiore e chiamare nuovamente GetCodeInfo4.

In alternativa, è possibile chiamare innanzitutto GetCodeInfo4 con un buffer codeInfos di lunghezza zero per ottenere le dimensioni del buffer corrette. È quindi possibile impostare le dimensioni del buffer codeInfos sul valore restituito in pcCodeInfos moltiplicato per la dimensione di una struttura COR_PRF_CODE_INFO e chiamare di nuovo GetCodeInfo4.

Requisiti

Piattaforme: vedere Sistemi operativi supportati da .NET.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni .NET: disponibili a partire da .NET Core 2.1

Vedi anche