IDataModelManager::CreateTypedObjectReference メソッド (dbgmodel.h)
CreateTypedObjectReference メソッドは、基になるネイティブ/言語コンストラクトへの参照を作成することを除き、意味的には CreateTypedObject メソッドに似ています。 作成された参照は、ObjectTargetObjectReference の種類を持つオブジェクトです。 基になる言語がサポートする可能性があるため、ネイティブ参照ではありません (C++ & や &&など)。 C++ 参照への ObjectTargetObjectReference を持つことは完全に可能です。
種類 ObjectTargetObjectReference のオブジェクトは、IModelObject で Dereference メソッド使用することで、基になる値に変換できます。 また、参照を基になるホストの式エバリュエーターに渡して、適切な方法で値に割り当て直すこともできます。
構文
HRESULT CreateTypedObjectReference(
IDebugHostContext *context,
Location objectLocation,
IDebugHostType *objectType,
_COM_Errorptr_ IModelObject **object
);
パラメーター
context
このオブジェクトが配置されているデバッグ ホスト コンテキスト。 明示的なコンテキストが指定されていない場合、新しく作成されたオブジェクトのコンテキストは objectType 引数のコンテキストから継承されます。 呼び出し元は、デバッガーのユーザー インターフェイスで現在のコンテキストをオブジェクトが受け取る必要があることを示すために、特別なマーカー値USE_CURRENT_HOST_CONTEXTを渡すことができます。
objectLocation
デバッグ ターゲットのアドレス空間内のオブジェクトの場所。 場所が仮想アドレスの場合は、アドレス空間への 64 ビット オフセットを使用してクライアントによって場所を構築できます。それ以外の場合 - 場所は別のデバッグ ホスト インターフェイスから取得する必要があります。
objectType
構築されるオブジェクトの型。 コンテキスト引数で明示的なコンテキストが渡されない場合、型のコンテキストは新しく作成されたオブジェクトに伝達されます。
object
ここで、新しく作成されたオブジェクト参照が返されます。
戻り値
このメソッドは、成功または失敗を示す HRESULT を返します。
備考
サンプル コード の
ComPtr<IDataModelManager> spManager; /* get the data model manager */
ComPtr<IDebugHostType> spType; /* get a type (see CreateTypedObject) */
Location creationLocation; /* get a location (see CreateTypedObject) */
ComPtr<IModelObject> spObjectRef;
if (SUCCEEDED(spManager->CreateTypedObjectReference(nullptr,
creationLocation,
spType.Get(),
&spObjectRef)))
{
// spObjectRef now contains a reference to the underlying object.
// This can be dereferenced to get the value or passed to the
// EE to do an assignment.
ComPtr<IModelObject> spObject;
if (SUCCEEDED(spObjectRef->Dereference(&spObject)))
{
// spObject now contains the object itself.
}
}
必要条件
要件 | 価値 |
---|---|
ヘッダー | dbgmodel.h |
関連項目
IDataModelManager インターフェイス の