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


Функция 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

См. также раздел