Метод ICorProfilerInfo2::GetCodeInfo2

Получает экстенты машинного кода, связанного с указанным FunctionID.

Синтаксис

HRESULT GetCodeInfo2(
    [in]  FunctionID functionID,
    [in]  ULONG32 cCodeInfos,
    [out] ULONG32 *pcCodeInfos,
    [out, size_is(cCodeInfos), length_is(*pcCodeInfos)]
    COR_PRF_CODE_INFO codeInfos[]);

Параметры

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

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

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

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

Замечания

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

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

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

Требования

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

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

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

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

См. также