Metodo ICorProfilerInfo4::GetCodeInfo3ICorProfilerInfo4::GetCodeInfo3 Method

Ottiene gli ambiti di codice nativo associati alla versione ricompilata in JIT della funzione specificata.Gets the extents of native code associated with the JIT-recompiled version of the specified function.

SintassiSyntax

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[]);  

ParametriParameters

functionID
[in] ID della funzione alla quale è associato il codice nativo.[in] The ID of the function with which the native code is associated.

reJitId
[in] Identità della funzione ricompilata in JIT.[in] The identity of the JIT-recompiled function.

cCodeInfos
[in] Dimensione della matrice codeInfos.[in] The size of the codeInfos array.

pcCodeInfos
[out] Un puntatore al numero totale di COR_PRF_CODE_INFO strutture disponibili.[out] A pointer to the total number of COR_PRF_CODE_INFO structures available.

codeInfos
[out] Buffer fornito dal chiamante.[out] A caller-provided buffer. Una volta completato, il metodo contiene una matrice di strutture COR_PRF_CODE_INFO, ognuna delle quali descrive un blocco di codice nativo.After the method returns, it contains an array of COR_PRF_CODE_INFO structures, each of which describes a block of native code.

NoteRemarks

Il GetCodeInfo3 è simile al metodo GetCodeInfo2, ad eccezione del fatto che ottiene l'ID ricompilata in JIT della funzione che contiene l'indirizzo IP specificato.The GetCodeInfo3 method is similar to GetCodeInfo2, except that it will get the JIT-recompiled ID of the function that contains the specified IP address.

Nota

GetCodeInfo3 può attivare una garbage collection, mentre GetCodeInfo2 No.GetCodeInfo3 can trigger a garbage collection, whereas GetCodeInfo2 will not. Per ulteriori informazioni, vedere il CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT.For more information, see the CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT.

Gli ambiti vengono ordinati in sequenza crescente in base all'offset CIL (Common Intermediate Language).The extents are sorted in order of increasing Common Intermediate Language (CIL) offset.

Dopo GetCodeInfo3 viene restituito, è necessario verificare che il codeInfos buffer sia abbastanza grande per contenere tutti i COR_PRF_CODE_INFO strutture.After GetCodeInfo3 returns, you must verify that the codeInfos buffer was large enough to contain all the COR_PRF_CODE_INFO structures. A tale scopo, confrontare il valore di cCodeInfos con il valore del parametro cchName.To do this, compare the value of cCodeInfos with the value of the cchName parameter. Se cCodeInfos diviso la dimensione di un COR_PRF_CODE_INFO struttura è inferiore a pcCodeInfos, allocare una maggiore codeInfos memorizzare nel buffer, aggiornare cCodeInfos con la nuova dimensione e chiamare GetCodeInfo3 nuovo.If cCodeInfos divided by the size of a COR_PRF_CODE_INFO structure is smaller than pcCodeInfos, allocate a larger codeInfos buffer, update cCodeInfos with the new, larger size, and call GetCodeInfo3 again.

In alternativa, è possibile chiamare innanzitutto GetCodeInfo3 con un buffer codeInfos di lunghezza zero per ottenere le dimensioni del buffer corrette.Alternatively, you can first call GetCodeInfo3 with a zero-length codeInfos buffer to obtain the correct buffer size. È quindi possibile impostare il codeInfos il valore restituito in dimensioni del buffer pcCodeInfos, moltiplicato per la dimensione di un COR_PRF_CODE_INFO struttura e chiamare GetCodeInfo3 nuovamente.You can then set the codeInfos buffer size to the value returned in pcCodeInfos, multiplied by the size of a COR_PRF_CODE_INFO structure, and call GetCodeInfo3 again.

RequisitiRequirements

Piattaforme: vedere requisiti di sistema.Platforms: See System Requirements.

Intestazione: CorProf.idl, CorProf.hHeader: CorProf.idl, CorProf.h

Libreria: CorGuids. libLibrary: CorGuids.lib

Versioni di .NET framework: Disponibile dalla 4.5Available since 4.5.NET Framework Versions: Disponibile dalla 4.5Available since 4.5

Vedere ancheSee Also

Metodo GetCodeInfo2GetCodeInfo2 Method
Interfaccia ICorProfilerInfo4ICorProfilerInfo4 Interface
Interfacce di profilaturaProfiling Interfaces
ProfilaturaProfiling