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 |
関連項目
IModelObject インターフェイス の