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