次の方法で共有


IModelObject::TryCastToRuntimeType メソッド (dbgmodel.h)

TryCastToRuntimeType メソッドは、デバッグ ホストに分析の実行を要求し、特定のオブジェクトの実際のランタイムの種類 (ほとんどの派生クラスなど) を決定します。 使用される正確な分析はデバッグ ホストに固有であり、RTTI (C++ ランタイム型情報)、オブジェクトの V-Table(仮想関数テーブル) 構造の検査、またはホストが静的な型から動的/ランタイム型を確実に決定するために使用できるその他の手段を含めることができます。 ランタイム型への変換に失敗しても、このメソッドの呼び出しが失敗するわけではありません。 このような場合、メソッドは出力引数で指定されたオブジェクト (このポインター) を返します。

構文

HRESULT TryCastToRuntimeType(
  _COM_Errorptr_ IModelObject **runtimeTypedObject
);

パラメーター

runtimeTypedObject

この引数では、指定されたオブジェクトから動的/ランタイム型のインスタンスへの変換が返されます。 分析で静的な型の変更が見つからない場合は、指定されたオブジェクト (このポインター) がこの出力で (追加の参照を使用して) 返される可能性があります。

戻り値

このメソッドは、成功または失敗を示す HRESULT を返します。 派生型が見つからない分析は、ここで定義されている失敗ではないことに注意してください。

備考

コード サンプル

ComPtr<IModelObject> spUnknown; /* get an IUnknown pointer to some CFoo */

ComPtr<IModelObject> spRuntimeObj;
if (SUCCEEDED(spUnknown->TryCastToRuntimeType(&spRuntimeObj)))
{
    // spRuntimeObj will refer to the CFoo.
}

必要条件

要件 価値
ヘッダー dbgmodel.h

関連項目

IModelObject インターフェイス