次の方法で共有


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

関連項目

IModelObject インターフェイス