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 |