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 codeInfos matrice.

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

codeInfos
[out] Buffer fornito dal chiamante. Al termine del metodo, contiene una matrice di COR_PRF_CODE_INFO strutture, ognuna delle quali descrive un blocco di codice nativo.

Osservazioni:

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

Annotazioni

GetCodeInfo4 può attivare un'operazione di Garbage Collection.

Gli extent vengono ordinati in ordine di offset CIL (Common Intermediate Language).

Al GetCodeInfo4 termine, è necessario verificare che il codeInfos buffer sia sufficientemente grande da contenere tutte le strutture COR_PRF_CODE_INFO . A tale scopo, confrontare il valore di cCodeInfos con il valore del cchName parametro . Se cCodeInfos diviso per le dimensioni di una struttura COR_PRF_CODE_INFO è minore di pcCodeInfos, allocare un buffer più grande codeInfos , aggiornare cCodeInfos con le nuove dimensioni maggiori e chiamare GetCodeInfo4 di nuovo.

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

Requisiti

Piattaforme: Vedere Sistemi operativi supportati da .NET.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET: Disponibile a partire da .NET Core 2.1

Vedere anche