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 |
Common Language Runtime (CLR) 尚未載入至處理序中,或者此 CLR 目前的狀態無法執行 Managed 程式碼或成功處理呼叫。 |
HOST_E_TIMEOUT |
呼叫已逾時。 |
HOST_E_NOT_OWNER |
呼叫端不具備鎖定功能。 |
HOST_E_ABANDONED |
已封鎖執行緒或 Fiber 在等候事件時,該事件已遭取消。 |
E_FAIL |
發生未知的重大錯誤。 如果方法傳回 E_FAIL,處理序中就無法再使用 CLR。 對任何裝載方法的後續呼叫會傳回 HOST_E_CLRNOTAVAILABLE。 |
備註
data 參數為未指定型別的物件之指標。 如果 event 參數為 Event_DomainUnload,則 data 為卸載之 AppDomain 的數值識別碼。 主應用程式可以採取適當的動作,將此識別項當做機碼使用。
如果 event 為 Event_MDAFired,則 data 為 MDAInfo 執行個體 (Instance) 的指標,這個執行個體包含 Managed 偵錯助理 (MDA) 的訊息輸出。 MDA 為 CLR 的功能,可協助開發人員進行偵錯,方式是為以其他方法很難截獲的此類事件產生相關的 XML 訊息。 這類訊息在偵錯 Managed 和 Unmanaged 程式碼之間的轉換時會特別有用。 如需詳細資訊,請參閱診斷 Managed 偵錯助理的錯誤。
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**MSCorEE.h
程式庫:包含做為 MSCorEE.dll 中的資源
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0