Метод ICorProfilerInfo4::GetCodeInfo3

Получает экстенты машинного кода, связанного с перекомпилированной с помощью JIT-компилятора версией указанной функции.

Синтаксис

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

Параметры

functionID
[in] Идентификатор функции, с которым связан машинный код.

reJitId
[in] Идентификатор функции, перекомпилированной с помощью JIT-компилятора.

cCodeInfos
[in] Размер массива codeInfos.

pcCodeInfos
[out] Указатель на общее количество доступных COR_PRF_CODE_INFO структур.

codeInfos
[out] Буфер, предоставляемый вызывающим объектом. После возврата метода он содержит массив структур COR_PRF_CODE_INFO, каждая из которых описывает блок машинного кода.

Комментарии

Метод GetCodeInfo3 аналогичен Методу GetCodeInfo2, за исключением того, что он получает перекомпилированную JIT-идентификатор функции, которая содержит указанный IP-адрес.

Примечание

GetCodeInfo3 может активировать сборку мусора, а GetCodeInfo2 — нет. Дополнительные сведения см . в CORPROF_E_UNSUPPORTED_CALL_SEQUENCE HRESULT.

Расширения сортируются в порядке возрастания смещения общих промежуточного языка (CIL).

После GetCodeInfo3 возврата необходимо убедиться, что codeInfos буфер был достаточно велик, чтобы содержать все COR_PRF_CODE_INFO структуры. Для этого сравните значение параметра cCodeInfos со значением параметра cchName. При cCodeInfos делении на размер COR_PRF_CODE_INFO структура меньше, чем pcCodeInfos, выделите буфер большего codeInfos размера, обновите cCodeInfos новый, больший размер и вызовите GetCodeInfo3 еще раз.

Кроме того, сначала можно вызвать метод GetCodeInfo3 с буфером codeInfos нулевой длины для получения правильного размера буфера. Затем можно задать размер буфера codeInfos значением, возвращаемым в pcCodeInfos, умноженным на размер структуры COR_PRF_CODE_INFO , и снова вызвать GetCodeInfo3 .

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

версии платформа .NET Framework: доступно с версии 4.5

См. также раздел