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