Freigeben über


ICorProfilerInfo4::GetCodeInfo3-Methode

Ruft die Erweiterungen des systemeigenen Codes ab, die der JIT-kompilierten Version der angegebenen Funktion zugeordnet sind.

Syntax

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

Parameter

functionID
[in] Die ID der Funktion, der der systemeigene Code zugeordnet ist.

reJitId
[in] Die Identität der erneut JIT-kompilierten Funktion.

cCodeInfos
[in] Die Größe des codeInfos-Arrays.

pcCodeInfos
[out] Ein Zeiger auf die Gesamtanzahl verfügbarer COR_PRF_CODE_INFO-Strukturen.

codeInfos
[out] Ein vom Aufrufer bereitgestellter Puffer. Nach dem Ausführen enthält die Methode ein Array aus COR_PRF_CODE_INFO-Strukturen, von denen jede einen Block des systemeigenen Codes beschreibt.

Bemerkungen

Die GetCodeInfo3-Methode ähnelt GetCodeInfo2. Sie ruft jedoch die erneut JIT-kompilierte ID der Funktion ab, die die angegebene IP-Adresse enthält.

Hinweis

GetCodeInfo3 kann eine Garbage Collection auslösen. Bei GetCodeInfo2 ist dies nicht der Fall. Weitere Informationen finden Sie unter CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT.

Die Wertebereiche sind in aufsteigender Reihenfolge des CIL-Offsets (Common Intermediate Language) sortiert.

Nachdem GetCodeInfo3 zurückgegeben wurde, müssen Sie überprüfen, ob der codeInfos-Puffer groß genug war, um alle COR_PRF_CODE_INFO-Strukturen aufzunehmen. Vergleichen Sie hierzu den Wert von cCodeInfos mit dem Wert des cchName-Parameters. Wenn cCodeInfos dividiert durch die Größe einer COR_PRF_CODE_INFO-Struktur kleiner als pcCodeInfos ist, weisen Sie einen größeren codeInfos-Puffer zu, aktualisieren Sie cCodeInfos mit der neuen Größe, und rufen Sie dann GetCodeInfo3 erneut auf.

Alternativ können Sie zuerst GetCodeInfo3 mit einem codeInfos-Puffer der Länge 0 (NULL) aufrufen, um die richtige Puffergröße zu ermitteln. Sie können dann die Größe des codeInfos-Puffers auf den in pcCodeInfos zurückgegebenen Wert festlegen, multipliziert mit der Größe einer COR_PRF_CODE_INFO-Struktur, und GetCodeInfo3 erneut aufrufen.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorProf.idl, CorProf.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit Version 4.5 verfügbar.

Siehe auch