IActionOnCLREvent::OnEvent 方法

通过调用 ICLROnEventManager::RegisterActionOnEvent 方法对已注册的事件执行回调。

语法

HRESULT OnEvent (  
    [in] EClrEvent event,  
    [in] PVOID     data  
);  

参数

event
[in] EClrEvent 值之一,指示事件的类型。

data
[in] 指向对象的指针,该对象包含有关 event 的详细信息。

返回值

HRESULT 说明
S_OK 已成功返回 OnEvent
HOST_E_CLRNOTAVAILABLE 公共语言运行时 (CLR) 未加载到进程中,或 CLR 处于无法运行托管代码或无法成功处理调用的状态。
HOST_E_TIMEOUT 调用超时。
HOST_E_NOT_OWNER 调用方未持有锁。
HOST_E_ABANDONED 某个事件在某个被阻止的线程或纤程正在等待该事件时被取消。
E_FAIL 发生未知的灾难性故障。 如果方法返回 E_FAIL,则进程中无法再使用 CLR。 后续调用任何承载方法会返回 HOST_E_CLRNOTAVAILABLE。

备注

data 参数是指向未指定类型的对象的指针。 如果 event 参数为 Event_DomainUnload,则 data 是已卸载的 AppDomain 的数值标识符。 主机可以使用此标识符作为键来执行适当的操作。

如果 eventEvent_MDAFired,则 data 为指向 MDAInfo 实例的指针,该实例包含来自托管调试助手 (MDA) 的消息输出。 MDA 是 CLR 的一项功能,可帮助开发人员进行调试,方法是生成有关原本难以捕获的事件的 XML 消息。 这些消息对于调试托管代码和非托管代码之间的转换特别有用。 有关详细信息,请参阅使用托管调试助手诊断错误

要求

平台:请参阅系统要求

标头:MSCorEE.h

库:作为资源包含在 MSCorEE.dll 中

.NET Framework 版本:自 2.0 起可用

请参阅