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 |