Share via


ICorProfilerCallback インターフェイス

プロファイラーがサブスクライブしたイベントが発生したときにコード プロファイラーに通知するために共通言語ランタイム (CLR: Common Language Runtime) が使用するメソッドを提供します。

メソッド

メソッド

説明

ICorProfilerCallback::AppDomainCreationFinished メソッド

アプリケーション ドメインが作成されたことをプロファイラーに通知します。

ICorProfilerCallback::AppDomainCreationStarted メソッド

アプリケーション ドメインが作成されることをプロファイラーに通知します。

ICorProfilerCallback::AppDomainShutdownFinished メソッド

アプリケーション ドメインがプロセスからアンロードされたことをプロファイラーに通知します。

ICorProfilerCallback::AppDomainShutdownStarted メソッド

アプリケーション ドメインがプロセスからアンロードされることをプロファイラーに通知します。

ICorProfilerCallback::AssemblyLoadFinished メソッド

アセンブリが読み込みを完了したことをプロファイラーに通知します。

ICorProfilerCallback::AssemblyLoadStarted メソッド

アセンブリが読み込まれることをプロファイラーに通知します。

ICorProfilerCallback::AssemblyUnloadFinished メソッド

アセンブリがアンロードされたことをプロファイラーに通知します。

ICorProfilerCallback::AssemblyUnloadStarted メソッド

アセンブリがアンロードされることをプロファイラーに通知します。

ICorProfilerCallback::ClassLoadFinished メソッド

クラスが読み込みを完了したことをプロファイラーに通知します。

ICorProfilerCallback::ClassLoadStarted メソッド

クラスが読み込まれることをプロファイラーに通知します。

ICorProfilerCallback::ClassUnloadFinished メソッド

クラスがアンロードを完了したことをプロファイラーに通知します。

ICorProfilerCallback::ClassUnloadStarted メソッド

クラスがアンロードされることをプロファイラーに通知します。

ICorProfilerCallback::COMClassicVTableCreated メソッド

指定した IID とクラスのランタイム呼び出し可能ラッパー (RCW: Runtime Callable Wrapper) が作成されたことをプロファイラーに通知します。

ICorProfilerCallback::COMClassicVTableDestroyed メソッド

RCW が破棄されることをプロファイラーに通知します。

ICorProfilerCallback::ExceptionCatcherEnter メソッド

適切な catch ブロックに制御が渡されていることをプロファイラーに通知します。

ICorProfilerCallback::ExceptionCatcherLeave メソッド

適切な catch ブロックから制御が渡されていることをプロファイラーに通知します。

ICorProfilerCallback::ExceptionCLRCatcherExecute メソッド

.NET Framework Version 2.0 で互換性のために残されています。

ICorProfilerCallback::ExceptionCLRCatcherFound メソッド

.NET Framework 2.0 で互換性のために残されています。

ICorProfilerCallback::ExceptionOSHandlerEnter メソッド

実装されていません。 アンマネージ例外情報を必要とするプロファイラーは、他の方法でこの情報を取得する必要があります。

ICorProfilerCallback::ExceptionOSHandlerLeave メソッド

実装されていません。 アンマネージ例外情報を必要とするプロファイラーは、他の方法でこの情報を取得する必要があります。

ICorProfilerCallback::ExceptionSearchCatcherFound メソッド

例外処理の検索フェーズで、スローされた例外のハンドラーが見つかったことをプロファイラーに通知します。

ICorProfilerCallback::ExceptionSearchFilterEnter メソッド

ユーザー フィルターが実行されることをプロファイラーに通知します。

ICorProfilerCallback::ExceptionSearchFilterLeave メソッド

ユーザー フィルターの実行が終了したことをプロファイラーに通知します。

ICorProfilerCallback::ExceptionSearchFunctionEnter メソッド

例外処理の検索フェーズが関数に入ったことをプロファイラーに通知します。

ICorProfilerCallback::ExceptionSearchFunctionLeave メソッド

例外処理の検索フェーズが関数の検索を完了したことをプロファイラーに通知します。

ICorProfilerCallback::ExceptionThrown メソッド

例外がスローされたことをプロファイラーに通知します。

ICorProfilerCallback::ExceptionUnwindFinallyEnter メソッド

例外処理のアンワインド フェーズが、指定した関数に含まれる finally 句に入ることをプロファイラーに通知します。

ICorProfilerCallback::ExceptionUnwindFinallyLeave メソッド

例外処理のアンワインド フェーズの制御が finally 句を離れたことをプロファイラーに通知します。

ICorProfilerCallback::ExceptionUnwindFunctionEnter メソッド

例外処理のアンワインド フェーズの制御が関数に入ったことをプロファイラーに通知します。

ICorProfilerCallback::ExceptionUnwindFunctionLeave メソッド

例外処理のアンワインド フェーズの関数のアンワインドが終了したことをプロファイラーに通知します。

ICorProfilerCallback::FunctionUnloadStarted メソッド

ランタイムが関数のアンロードを開始したことをプロファイラーに通知します。

ICorProfilerCallback::Initialize メソッド

新しい CLR アプリケーションが起動されるたびに、プロファイラーを初期化するために呼び出されます。

ICorProfilerCallback::JITCachedFunctionSearchFinished メソッド

NGen.exe を使用して以前にコンパイルされた関数の検索が完了したことをプロファイラーに通知します。

ICorProfilerCallback::JITCachedFunctionSearchStarted メソッド

NGen.exe を使用して以前にコンパイルされた関数の検索が開始されたことをプロファイラーに通知します。

ICorProfilerCallback::JITCompilationFinished メソッド

JIT コンパイラが関数のコンパイルを終了したことをプロファイラーに通知します。

ICorProfilerCallback::JITCompilationStarted メソッド

Just-In-Time (JIT) コンパイラが関数のコンパイルを開始したことをプロファイラーに通知します。

ICorProfilerCallback::JITFunctionPitched メソッド

JIT でコンパイルされた関数がメモリから削除されたことをプロファイラーに通知します。

ICorProfilerCallback::JITInlining メソッド

JIT コンパイラが関数を別の関数行内に挿入しようとしていることをプロファイラーに通知します。

ICorProfilerCallback::ManagedToUnmanagedTransition メソッド

マネージ コードからアンマネージ コードへの移行が発生したことをプロファイラーに通知します。

ICorProfilerCallback::ModuleAttachedToAssembly メソッド

モジュールが親アセンブリにアタッチされることをプロファイラーに通知します。

ICorProfilerCallback::ModuleLoadFinished メソッド

モジュールが読み込みを完了したことをプロファイラーに通知します。

ICorProfilerCallback::ModuleLoadStarted メソッド

モジュールが読み込まれることをプロファイラーに通知します。

ICorProfilerCallback::ModuleUnloadFinished メソッド

モジュールがアンロードを完了したことをプロファイラーに通知します。

ICorProfilerCallback::ModuleUnloadStarted メソッド

モジュールがアンロードされることをプロファイラーに通知します。

ICorProfilerCallback::MovedReferences メソッド

ガベージ コレクション中に移動されたオブジェクト参照についてプロファイラーに通知します。

ICorProfilerCallback::ObjectAllocated メソッド

ヒープ内のメモリがオブジェクトに割り当てられたことをプロファイラーに通知します。

ICorProfilerCallback::ObjectReferences メソッド

指定したオブジェクトが参照するメモリ内にあるオブジェクトについてプロファイラーに通知します。

ICorProfilerCallback::ObjectsAllocatedByClass メソッド

指定した各クラスについて、前回ガベージ コレクションを実行した後で作成されたインスタンスの数をプロファイラーに通知します。

ICorProfilerCallback::RemotingClientInvocationFinished メソッド

リモート処理呼び出しがクライアントで実行されて完了したことをプロファイラーに通知します。

ICorProfilerCallback::RemotingClientInvocationStarted メソッド

リモート処理呼び出しが開始されたことをプロファイラーに通知します。

ICorProfilerCallback::RemotingClientReceivingReply メソッド

リモート処理呼び出しのサーバー側の処理が完了したこと、およびクライアントが現在応答を受信中でこれからその応答を処理することをプロファイラーに通知します。

ICorProfilerCallback::RemotingClientSendingMessage メソッド

クライアントがサーバーに要求を送信することをプロファイラーに通知します。

ICorProfilerCallback::RemotingServerInvocationReturned メソッド

リモート メソッドの呼び出し要求に応答して、プロセスがメソッドを呼び出して終了したことをプロファイラーに通知します。

ICorProfilerCallback::RemotingServerInvocationStarted メソッド

リモート メソッドの呼び出し要求に応答して、プロセスがメソッドを呼び出すことをプロファイラーに通知します。

ICorProfilerCallback::RemotingServerReceivingMessage メソッド

プロセスがリモート メソッドの呼び出し要求またはアクティベーション要求を受け取ることをプロファイラーに通知します。

ICorProfilerCallback::RemotingServerSendingReply メソッド

プロセスがリモート メソッドの呼び出し要求を完了し、チャネルを通じて応答を送信しようとしていることをプロファイラーに通知します。

ICorProfilerCallback::RootReferences メソッド

ガベージ コレクション後のルート参照に関する情報をプロファイラーに通知します。

ICorProfilerCallback::RuntimeResumeFinished メソッド

ランタイムがすべてのランタイム スレッドを再開し、通常の操作に戻ったことをプロファイラーに通知します。

ICorProfilerCallback::RuntimeResumeStarted メソッド

ランタイムがすべてのランタイム スレッドを再開することをプロファイラーに通知します。

ICorProfilerCallback::RuntimeSuspendAborted メソッド

発生しているランタイムの中断をランタイムが中止したことをプロファイラーに通知します。

ICorProfilerCallback::RuntimeSuspendFinished メソッド

ランタイムがすべてのランタイム スレッドの中断を完了したことをプロファイラーに通知します。

ICorProfilerCallback::RuntimeSuspendStarted メソッド

ランタイムがすべてのランタイム スレッドを中断しようとしていることをプロファイラーに通知します。

ICorProfilerCallback::RuntimeThreadResumed メソッド

指定したスレッドが中断された後、再開されたことをプロファイラーに通知します。

ICorProfilerCallback::RuntimeThreadSuspended メソッド

指定したスレッドが中断されたこと、または中断されようとしていることをプロファイラーに通知します。

ICorProfilerCallback::Shutdown メソッド

アプリケーションの終了処理中であることをプロファイラーに通知します。

ICorProfilerCallback::ThreadAssignedToOSThread メソッド

特定のオペレーティング システム (OS: Operating System) スレッドを使用してマネージ スレッドが実装されることをプロファイラーに通知します。

ICorProfilerCallback::ThreadCreated メソッド

スレッドが作成されたことをプロファイラーに通知します。

ICorProfilerCallback::ThreadDestroyed メソッド

スレッドが破棄されたことをプロファイラーに通知します。

ICorProfilerCallback::UnmanagedToManagedTransition メソッド

アンマネージ コードからマネージ コードへの移行が発生したことをプロファイラーに通知します。

解説

CLR は ICorProfilerCallback (または ICorProfilerCallback2) インターフェイスでメソッドを呼び出して、プロファイラーがサブスクライブしたイベントが発生したときにプロファイラーに通知します。 これは、CLR がコード プロファイラーとの通信に使用するプライマリ コールバック インターフェイスです。

コード プロファイラーは、ICorProfilerCallback インターフェイスのメソッドを実装する必要があります。 .NET Framework Version 2.0 以降の場合、プロファイラーは ICorProfilerCallback2 のメソッドも実装する必要があります。 各メソッド実装は、S_OK (成功時) または E_FAIL (エラー時) の値を持つ HRESULT を返す必要があります。 現在、CLR は、ICorProfilerCallback::ObjectReferences を除く各コールバックが返す HRESULT を無視します。

Microsoft Windows レジストリでは、コード プロファイラーは ICorProfilerCallback インターフェイスおよび ICorProfilerCallback2 インターフェイスを実装するコンポーネント オブジェクト モデル (COM: Component Object Model) オブジェクトを登録する必要があります。 コード プロファイラーは、ICorProfilerInfo::SetEventMask を呼び出すことで、通知を受け取るイベントをサブスクライブします。 これは通常、ICorProfilerCallback::Initialize のプロファイラーの実装で行われます。 これにより、イベントが発生するとき、または実行中のランタイム プロセスでイベントが発生したときに、プロファイラーはランタイムから通知を受け取ることができます。

メモメモ

プロファイラーは単一の COM オブジェクトを登録します。プロファイラーが .NET Framework Version 1.0 または 1.1 を対象としている場合、その COM オブジェクトが実装する必要があるのは、ICorProfilerCallback のメソッドのみです。プロファイラーが .NET Framework Version 2.0 以降を対象としている場合、その COM オブジェクトは ICorProfilerCallback2 のメソッドも実装する必要があります。

要件

プラットフォーム: 「.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、1.1、1.0

参照

参照

ICorProfilerCallback2 インターフェイス

その他の技術情報

プロファイリングのインターフェイス