Метод 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