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.
    }
}

要求

要求
Header dbgmodel.h

另请参阅

IModelObject 接口