AssignTo メソッドは、デバッグする言語のセマンティクスに従って割り当てを実行します。
構文
HRESULT AssignTo(
IModelObject *assignmentReference,
IModelObject *assignmentValue,
_COM_Errorptr_ IModelObject **assignmentResult,
IKeyStore **assignmentMetadata
);
パラメーター
assignmentReference
割り当てられているものへの参照。 これは、モデル ベースの参照 (ObjectTargetObjectReference など) または言語参照 (C++ &など) のいずれかですが、何らかの種類の参照 (LVALUE) である必要があります。
assignmentValue
assignmentReference 引数を介して参照される内容に割り当てられる値。 この値は、割り当てる前に言語規則に従って強制変換または変換される場合があることに注意してください。
assignmentResult
割り当ての結果 (成功した場合)。 そうでない場合は、必要に応じて、割り当てが失敗した理由を示す拡張エラー オブジェクト。 この場合の割り当ての結果は、言語が割り当て操作の結果として定義する内容であることに注意してください。 C++ の場合、これは割り当てられたものへの言語参照になります。
assignmentMetadata
割り当ての結果に関連付けられている省略可能なメタデータがここに返されます。
戻り値
このメソッドは、成功または失敗を示す HRESULT を返します。
備考
コード サンプル
ComPtr<IDebugHost> spHost; /* get the host */
ComPtr<IDataModelManager> spManager; /* get the data model manager */
ComPtr<IModelObject> spObject; /* get an object; for an example - consider a
'class MyClass' with an integer value
m_intVal */
ComPtr<IDebugHostEvaluator2> spEval2;
if (SUCCEEDED(spHost.As(&spEval2)))
{
// Get a reference to the m_intVal field
ComPtr<IModelObject> spIntValRef;
if (SUCCEEDED(spObject->GetRawReference(SymbolField,
L"m_intVal",
RawSearchNone,
&spIntValRef)))
{
// Box some value we want to assign.
VARIANT vtVal;
vtVal.vt = VT_UI8;
vtVal.ullVal = 123456;
ComPtr<IModelObject> spAssignmentValue;
if (SUCCEEDED(spManager->CreateIntrinsicObject(ObjectIntrinsic,
&vtVal,
&spAssignmentValue)))
{
ComPtr<IModelObject> spAssignmentResult;
if (SUCCEEDED(spEval2->AssignTo(spIntValRef.Get(),
spAssignmentValue.Get(),
&spAssignmentResult,
nullptr)))
{
// The (unsigned __int64)123456 was assigned to m_intVal with
// the set of coercions defined by the language (C++)
// spAssignmentResult has the language meaning of operator=()
// in this case. This would be a MyClass&.
}
}
}
}
必要条件
要件 | 価値 |
---|---|
ヘッダー | dbgmodel.h |
関連項目
IDebugHostEvaluator2 インターフェイス の