Функция FunctionEnter
Уведомляет профилировщика о том, что элемент управления передается функции.
Примечание
Функция FunctionEnter
является устаревшей в платформа .NET Framework версии 2.0, и ее использование приведет к повышению производительности. Вместо этого используйте функцию FunctionEnter2 .
Синтаксис
void __stdcall FunctionEnter (
[in] FunctionID funcID
);
Параметры
funcID
[in] Идентификатор функции, в которую передается элемент управления.
Комментарии
Функция FunctionEnter
является обратным вызовом; ее необходимо реализовать. Реализация должна использовать __declspec
атрибут класса хранения (naked
).
Подсистема выполнения не сохраняет регистры перед вызовом этой функции.
При записи необходимо сохранить все используемые регистры, включая регистры в единице с плавающей запятой (FPU).
При выходе необходимо восстановить стек, вырвав все параметры, которые были отправлены вызывающим элементом.
Реализация FunctionEnter
не должна блокироваться, так как это приведет к задержке сборки мусора. Реализация не должна пытаться выполнить сборку мусора, так как стек может не находиться в состоянии, удобном для сборки мусора. При попытке сборки мусора среда выполнения будет блокироваться до тех пор, пока не FunctionEnter
вернется.
Кроме того, FunctionEnter
функция не должна вызывать в управляемый код или каким-либо образом вызывать выделение управляемой памяти.
Требования
Платформы: см. раздел Требования к системе.
Заголовка: CorProf.idl
Библиотека: CorGuids.lib
платформа .NET Framework версии: 1.1, 1.0