Поделиться через


Метод 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, каждая из которых описывает блок машинного кода.

Заметки

Расширения сортируются в порядке возрастания смещения MSIL.

После того, как метод 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 снова.

Дополнительные сведения об этих двух подходах см. в разделе Соглашения методов интерфейса API для профилирования.

Требования

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

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

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

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0

См. также

Ссылки

Интерфейс ICorProfilerInfo

Интерфейс ICorProfilerInfo2

Другие ресурсы

Профилирующие интерфейсы

Профилирование (справочник по неуправляемым интерфейсам API)