次の方法で共有


ICorProfilerInfo2::GetClassFromTokenAndTypeArgs メソッド

指定したメタデータ トークンを使用して型の ClassID を取得し、任意の型引数の ClassID の値を取得します。

HRESULT GetClassFromTokenAndTypeArgs(
    [in] ModuleID moduleID,
    [in] mdTypeDef typeDef,
    [in] ULONG32 cTypeArgs,
    [in, size_is(cTypeArgs)] ClassID typeArgs[],
    [out] ClassID* pClassID);

パラメーター

  • moduleID
    [入力] 型が存在するモジュールの ID。

  • typeDef
    [入力] 型を参照する mdTypeDef メタデータ トークン。

  • cTypeArgs
    [入力] 指定する型の型パラメーターの数。 非ジェネリック型の場合はこの値を 0 にする必要があります。

  • typeArgs
    [入力] それぞれが型の引数である ClassID 値の配列。 cTypeArgs が 0 に設定されている場合は、typeArgs に NULL を指定できます。

  • pClassID
    [出力] 指定した型の ClassID へのポインター。

解説

mdTypeDef メタデータ トークンの代わりに mdTypeRef を使用して GetClassFromTokenAndTypeArgs メソッドを呼び出すと、予測できない結果になることがあります。それを渡す場合は、mdTypeDef への mdTypeRef を呼び出し元で解決する必要があります。

型がまだ読み込まれていないときに GetClassFromTokenAndTypeArgs を呼び出すと読み込みが実行されるため、多くの状況ではこの呼び出し操作を行わないようにする必要があります。 たとえば、モジュールまたは他の型を読み込んでいるときにこのメソッドを呼び出すと、ランタイムが循環的に読み込みを実行しようとするため、無限ループが発生する可能性があります。

通常は、GetClassFromTokenAndTypeArgs を使用しないでください。 プロファイラーで特定の型のイベントを確認する場合は、その型の ModuleID と mdTypeDef を格納し、ICorProfilerInfo2::GetClassIDInfo2 を使用して ClassID が目的の型かどうかをチェックする必要があります。

必要条件

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

参照

参照

ICorProfilerInfo インターフェイス

ICorProfilerInfo2 インターフェイス