ICorProfilerCallback::Shutdown 方法
向分析工具告知應用程式正在關閉。
HRESULT Shutdown();
備註
分析工具程式碼無法在呼叫 Shutdown 方法之後安全呼叫 ICorProfilerInfo 介面的方法。 在 Shutdown 方法傳回之後,ICorProfilerInfo 方法的任何呼叫都會造成未定義的行為。 特定的不可變動事件可能仍會在關閉後發生,因此分析工具應負責在發生這種狀況時立即傳回。
只有在分析中的 Managed 應用程式當做 Managed 程式碼 (即處理序堆疊上的初始框架是 Managed) 啟動時,才會呼叫 Shutdown 方法。 如果應用程式當做 Unmanaged 程式碼啟動但稍後跳躍進入 Managed 程式碼,因此建立 Common Language Runtime (CLR) 的執行個體,則不會呼叫 Shutdown。 對於這種情況,分析工具應該在程式庫中包含 DllMain 常式,其使用 DLL_PROCESS_DETACH 值以釋放任何資源,並且執行資料清除處理,例如將追蹤清除至磁碟等。
一般而言,分析工具必須處理未預期的關閉。 例如,處理序可能由 Win32 的 TerminateProcess 方法 (在 Winbase.h 中宣告) 所暫止。 在其他情況下,CLR 會暫止特定的 Managed 執行緒 (背景執行緒),而不傳遞其依序的解構訊息。
需求
**平台:**請參閱 .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