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