Метод IModelObject::GetRawReference (dbgmodel.h)
Метод GetRawReference находит собственную конструкцию в заданном объекте и возвращает ссылку на нее. Такой конструкцией может быть поле, базовый класс, поле в базовом классе, функция-член и т. д. Важно отличать возвращаемую здесь ссылку (объект типа ObjectTargetObjectReference) от ссылки на язык (например, & C++ или ссылку на стиль && ).
Синтаксис
HRESULT GetRawReference(
SymbolKind kind,
PCWSTR name,
ULONG searchFlags,
_COM_Errorptr_ IModelObject **object
);
Параметры
kind
Указывает тип собственного символа для получения (например, базовый класс или элемент данных).
name
Имя собственной конструкции для получения.
searchFlags
Необязательный набор флагов, указывающий поведение поиска для собственной конструкции.
object
Сюда будет возвращен объект IModelObject , представляющий извлекаемую собственную конструкцию. Обратите внимание, что в некоторых случаях в этом аргументе могут возвращаться расширенные сведения об ошибке, даже если HRESULT указывает на сбой.
Возвращаемое значение
Этот метод возвращает HRESULT, который указывает на успех или сбой. Возвращаемые значения E_BOUNDS (или E_NOT_SET в некоторых случаях) указывают, что не удалось найти поле.
Комментарии
Образец кода
ComPtr<IModelObject> spMessage; /* get a tagMSG */
ComPtr<IModelObject> spMsgIdRef;
if (SUCCEEDED(spMessage->GetRawReference(SymbolField, L"message", RawSearchNone, &spMsgIdRef)))
{
// spMsgIdRef is an ObjectTargetObjectReference. GetLocation/GetTypeInfo/GetTargetInfo
// will return as they would for the value. spMsgIdRef can be passed to Dereference or to
// the EE to assign a value, etc...
ComPtr<IModelObject> spMsgId;
if (SUCCEEDED(spMsgIdRef->Dereference(&spMsgId)))
{
// spMsgId contains the message number. Unbox with GetIntrinsicValueAs.
}
}
Требования
Требование | Значение |
---|---|
Заголовок | dbgmodel.h |