ICorProfilerInfo2 インターフェイス

コード プロファイラーが共通言語ランタイム (CLR) とやり取りして、イベント監視を制御したり、情報を要求したりするために使用する各種メソッドを提供します。 ICorProfilerInfo2 インターフェイスは、ICorProfilerInfo インターフェイスの機能を拡張するインターフェイスです。 つまり、このインターフェイスには、.NET Framework バージョン 2.0 以降のバージョンでサポートされる新しいメソッドが用意されています。

メソッド

メソッド 説明
DoStackSnapshot メソッド 指定したスレッドのスタックを走査して、マネージド呼び出しフレームをプロファイラーに報告します。
EnumModuleFrozenObjects メソッド 指定したモジュール内の固定オブジェクトを反復処理できる列挙子を取得します。
GetAppDomainStaticAddress メソッド 指定したアプリケーション ドメインのスコープ内にある、指定したアプリケーション ドメイン静的フィールドのアドレスを取得します。
GetArrayObjectInfo メソッド 配列オブジェクトに関する詳細情報を取得します。
GetBoxClassLayout メソッド ボックス化された指定の値型のクラス レイアウトに関する情報を取得します。
GetClassFromTokenAndTypeArgs メソッド 指定されたメタデータ トークンと任意の型引数の ClassID 値を使用して、ある型の ClassID を取得します。
GetClassIDInfo2 メソッド 指定したジェネリック クラスの親モジュール、そのクラスのメタデータ トークン、その親クラスの ClassID、およびそのクラスのそれぞれの型引数の ClassID (存在する場合) を取得します。
GetClassLayout メソッド 指定したクラスで定義されるフィールドのメモリ内レイアウトに関する情報を取得します。 つまり、このメソッドはクラスのフィールドのオフセットを取得します。
GetCodeInfo2 メソッド 指定した FunctionID に関連付けられているネイティブ コードの範囲を取得します。
GetContextStaticAddress メソッド 指定したコンテキストのスコープ内にある、指定したコンテキスト静的フィールドのアドレスを取得します。
GetFunctionFromTokenAndTypeArgs メソッド 指定されたメタデータ トークン、包含クラス、および任意の型引数の ClassID 値を使用して、関数の FunctionID を取得します。
GetFunctionInfo2 メソッド 関数の親クラス、メタデータ トークン、および型引数が存在する場合はそれぞれの ClassID を取得します。
GetGenerationBounds メソッド ガベージ コレクトされたヒープのジェネレーションを構成するメモリ領域 (ヒープのセグメント) を取得します。
GetNotifiedExceptionClauseInfo メソッド 実行されようとしている、あるいは実行されたばかりの例外句 (catch/finally/filter) のネイティブ アドレスおよびフレーム情報を取得します。
GetObjectGeneration メソッド 指定されたオブジェクトが含まれるヒープのセグメントを取得します。
GetRVAStaticAddress メソッド 指定した相対仮想アドレス (RVA) の静的フィールドのアドレスを取得します。
GetStaticFieldInfo メソッド 指定したフィールドが静的であるスコープを取得します。
GetStringLayout メソッド 文字列オブジェクトのレイアウトに関する情報を取得します。
GetThreadAppDomain メソッド 指定したスレッドが現在コードを実行しているアプリケーション ドメインの ID を取得します。
GetThreadStaticAddress メソッド 指定したスレッドのスコープ内にある、指定したスレッド内静的フィールドのアドレスを取得します。
SetEnterLeaveFunctionHooks2 メソッド マネージ関数の "enter"、"leave"、および "tailcall" の各フックで呼び出されるプロファイラー実装関数を指定します。

解説

プロファイラーは、CLR とやり取りしてイベント監視を制御したり情報を要求したりするために、ICorProfilerInfo2 インターフェイスのメソッドを呼び出します。

ICorProfilerInfo2 インターフェイスのメソッドは、CLR によってフリー スレッド モデルを使用して実装します。 各メソッドが、成功または失敗を示す HRESULT を返します。 返される可能性があるリターン コードの一覧については、CorError.h ファイルを参照してください。

CLR では、プロファイラーの ICorProfilerInfo2ICorProfilerCallback::Initialize の実装を使用して、初期化中に各コード プロファイラーへの インターフェイスが渡されます。 その後、コード プロファイラーは ICorProfilerInfo2 インターフェイスのメソッドを呼び出して、CLR の制御下で実行中のマネージド コードに関する情報を取得できます。

必要条件

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

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

ライブラリ: CorGuids.lib

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

関連項目