更新:2007 年 11 月
通知探查器正在将控件传递给函数。
![]() |
---|
在 .NET Framework 2.0 版中不赞成使用 FunctionEnter 函数。它将继续工作,但会使性能下降。请改用 FunctionEnter2 函数。 |
void FunctionEnter (
[in] FunctionID funcID
);
参数
- funcID
[in] 控件所传递到的函数的标识符。
备注
FunctionEnter 函数是回调;您必须实现该函数。该实现必须使用 __declspec(naked) 存储类属性。
执行引擎在调用此函数之前未保存任何寄存器。
在进入时,您必须保存您使用的所有寄存器,包括浮点单元 (FPU) 中的那些寄存器。
在退出时,您必须通过弹出由堆栈调用方入栈的所有参数来还原堆栈。
FunctionEnter 的实现不应进行阻止,因为它将延迟垃圾回收。实现不应尝试垃圾回收,因为堆栈可能未处于适合进行垃圾回收的状态。如果尝试进行垃圾回收,运行库将会进行阻止,直至 FunctionEnter 返回。
另外,FunctionEnter 函数不得调入托管代码或以任何方式导致托管内存分配。
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**CorProf.idl
**库:**CorGuids.lib
**.NET Framework 版本:**1.1、1.0
请参见
参考
ICorProfilerInfo2::SetEnterLeaveFunctionHooks2 方法