ICorProfilerCallback::Shutdown 方法
通知分析工具應用程式正在關閉。
語法
HRESULT Shutdown();
備註
呼叫 Shutdown
方法之後,分析工具程式碼無法安全地呼叫 ICorProfilerInfo 介面的方法。 任何對 ICorProfilerInfo
方法的呼叫都會在 Shutdown
方法傳回之後產生未定義的行為。 關機之後,某些不可變的事件仍可能發生;分析工具應小心在發生這種情況時立即傳回。
只有在正以受控程式碼啟動的受控應用程式時 (也就是處理序堆疊上的初始框架會受到管理),才會呼叫 Shutdown
方法。 如果應用程式以非受控程式碼啟動,但稍後跳到受控程式碼而因此建立 Common Language Runtime (CLR) 執行個體,則不會呼叫 Shutdown
。 在這些情況下,分析工具應該在其程式庫中包含使用 DLL_PROCESS_DETACH 值的 DllMain
常式來釋放任何資源,並執行其資料的清除處理 (例如將追蹤排清至磁碟等等)。
一般而言,分析工具必須處理非預期的關機。 例如,Win32 的 TerminateProcess
方法 (在 Winbase.h 中宣告) 可能會停止處理序。 在其他情況下,CLR 會停止某些受控執行緒 (背景執行緒),而不會為其依序傳遞解構訊息。
規格需求
平台:請參閱系統需求。
標頭: CorProf.idl、CorProf.h
程式庫:CorGuids.lib
.NET Framework版本:自 2.0 起可用