Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод 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 |