ICorProfilerCallback2 接口
提供公共语言运行时 (CLR) 在代码探查器订阅的事件发生时用来通知该探查器的方法。 ICorProfilerCallback2 接口是对 ICorProfilerCallback 接口的扩展。 也就是说,它提供了 .NET Framework 2.0 版中引入的新回调。
注意 |
---|
每个方法实现都必须返回一个 HRESULT,如果成功,则它的值为 S_OK,否则它的值为 E_FAIL。目前,CLR 会忽略每个回调(ICorProfilerCallback::ObjectReferences 除外)返回的 HRESULT。 |
方法
方法 |
说明 |
---|---|
通知代码探查器某个具有终结器的对象已排入队列,等待终结器线程执行其 Finalize 方法。 |
|
通知探查器已完成垃圾回收并为其发出了所有垃圾回收回调。 |
|
通知代码探查器已启动垃圾回收。 |
|
通知代码探查器已创建某个垃圾回收句柄。 |
|
通知代码探查器某个垃圾回收句柄已销毁。 |
|
通知探查器有关在发生垃圾回收后进行的根引用的信息。 此方法是对 ICorProfilerCallback::RootReferences 方法的扩展。 |
|
通知探查器有关在垃圾回收中保留下来的对象引用的信息。 |
|
通知代码探查器线程的名称已更改。 |
备注
当探查器订阅的事件发生时,CLR 将调用 ICorProfilerCallback(或 ICorProfilerCallback2)接口中的方法来通知该探查器。 这是 CLR 用来与代码探查器通信的主回调接口。
代码探查器必须实现 ICorProfilerCallback 接口的方法。 对于 .NET Framework 2.0 版及更高版本,该探查器还必须实现 ICorProfilerCallback2 方法。 每个方法实现都必须返回一个 HRESULT,如果成功,则它的值为 S_OK,否则它的值为 E_FAIL。 目前,CLR 会忽略每个回调(ICorProfilerCallback::ObjectReferences 除外)返回的 HRESULT。
代码探查器必须在 Microsoft Windows 注册表中注册其实现 ICorProfilerCallback 和 ICorProfilerCallback2 接口的 COM 对象。 代码探查器通过调用 ICorProfilerInfo::SetEventMask 来订阅需要接收其相关通知的事件。 此操作通常在探查器实现 ICorProfilerCallback::Initialize 时完成。 这样,当执行中的运行时进程内即将发生或已发生某个事件时,探查器便能收到来自该运行时的通知。
注意 |
---|
探查器注册单个 COM 对象。如果探查器面向的是 .NET Framework 1.0 或 1.1 版,则该 COM 对象仅需实现 ICorProfilerCallback 的方法。如果探查器面向的是 .NET Framework 2.0 版及更高版本,则该 COM 对象还必须实现 ICorProfilerCallback2 的方法。 |
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**CorProf.idl、CorProf.h
**库:**CorGuids.lib
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0