次の方法で共有


IDebugHostModule::FindTypeByName メソッド (dbgmodel.h)

FindTypeByName メソッドは、モジュール内で定義されている型を型名で検索し、その型シンボルを返します。 このメソッドは、モジュールの子の明示的な再帰によって返されない有効な IDebugHostType を返す場合があります。 デバッグ ホストでは、派生型 (モジュール自体内では使用されず、派生型から派生した型) を作成できる場合があります。 たとえば、MyStruct 構造体がモジュールのシンボルで定義されているが、MyStruct ** 型が使用されない場合、FindTypeByName メソッドは、その型名がモジュールのシンボルに明示的に表示されないにもかかわらず、MyStruct ** の型シンボルを正当に返す可能性があります。

多くのデバッグ ホストは、FindTypeByName メソッドに渡される型名をコンテキスト化し、シンボル名に対する生の比較ではなく、言語の規則に従ってシンボリック情報内で一致する型を検索することを明示的に試みます。 デバッグ ホストでこれを実行できない場合、シンボル名との生の比較にフォールバックします。

構文

HRESULT FindTypeByName(
  PCWSTR         typeName,
  IDebugHostType **type
);

パラメーター

typeName

モジュールのシンボリック情報で検索する言語の種類。 この型は、モジュールのシンボリック情報で見つかった型から派生することもできます (例: ポインターまたは配列)。

type

見つかった型の型シンボルがここに返されます。

戻り値

このメソッドは、成功または失敗を示す HRESULT を返します。

備考

サンプル コード

ComPtr<IDebugHostModule> spModule; /* get a module (see FindModuleByName) */

// Find "MyStruct **".  Note that only "MyStruct" might be in the symbols
ComPtr<IDebugHostType> spType;
if (SUCCEEDED(spModule->FindTypeByName(L"MyStruct **", &spType)))
{
    // spType contains a type symbol for "MyStruct **"
}

必要条件

要件 価値
ヘッダー dbgmodel.h

関連項目

IDebugHostModule インターフェイス