Метод 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
См. также
Ссылки
Другие ресурсы
Профилирование (справочник по неуправляемым интерфейсам API)