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.
}
要件
要件 | 値 |
---|---|
Header | dbgmodel.h |