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 的数值标识符。 主机可以使用此标识符作为键来执行适当的操作。
如果 event
为 Event_MDAFired
,则 data
为指向 MDAInfo 实例的指针,该实例包含来自托管调试助手 (MDA) 的消息输出。 MDA 是 CLR 的一项功能,可帮助开发人员进行调试,方法是生成有关原本难以捕获的事件的 XML 消息。 这些消息对于调试托管代码和非托管代码之间的转换特别有用。 有关详细信息,请参阅使用托管调试助手诊断错误。
要求
平台:请参阅系统要求。
标头:MSCorEE.h
库:作为资源包含在 MSCorEE.dll 中
.NET Framework 版本:自 2.0 起可用