次の方法で共有


ICorProfilerCallback3::ProfilerDetachSucceeded メソッド

共通言語ランタイム (CLR: Common Language Runtime) がプロファイラー DLL をアンロードしようとしていることをプロファイラーに通知します。

構文

HRESULT ProfilerDetachSucceeded();  

戻り値

このコールバックからの戻り値は無視されます。

解説

ProfilerDetachSucceeded コールバックは、すべてのスレッドでプロファイラーのコードが終了した後に発行されます。 このメソッドが呼び出された場合、プロファイラーは、そのデストラクターに適さない最後の段階のタスク (その UI またはログ コンポーネントの通知など) を実行する必要があります。 ただし、プロファイラーは、このコールバック中に CLR から提供されたインターフェイス (ICorProfilerInfo インターフェイスや IMetaData* インターフェイスなど) で関数を呼び出すことはできません。

CLR は Windows アプリケーション イベント ログに、デタッチ操作が成功したことを示すエントリを作成します。

プロファイラーがこのコールバックから戻ると、CLR はプロファイラー オブジェクトを解放し、プロファイラー DLL をアンロードします。 したがって、プロファイラーは、コールバックから戻った後にプロファイラー DLL 内での実行を発生させるアクションを実行することはできません。 たとえば、プロファイラーは、スレッドを作成することも、タイマー コールバックを登録することもできません。

必要条件

:システム要件」を参照してください。

ヘッダー : CorProf.idl、CorProf.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4 以降で使用可能

関連項目