次の方法で共有


IModelKeyReference::GetContextObject メソッド (dbgmodel.h)

GetContextObject メソッドは、対象のキーがプロパティ アクセサーを参照している場合に、プロパティ アクセサーの GetValue メソッドまたは SetValue メソッドに渡されるコンテキスト (このポインター) を返します。 ここで返されるコンテキスト オブジェクトは、GetOriginalObject からフェッチされた元のオブジェクトと同じである場合と異なることがあります。 キーが親モデルにあり、その親モデルに関連付けられたコンテキストアジャスターがある場合、元のオブジェクトは GetKeyReference または EnumerateKeyReferences が呼び出されたインスタンス オブジェクトです。 コンテキスト オブジェクトは、元のオブジェクトと、このキー参照がハンドルであるキーを含む親モデルの間の最終的なコンテキストアジャスタから出てくるものになります。 コンテキスト アジャスタがない場合、元のオブジェクトとコンテキスト オブジェクトは同じです。

構文

HRESULT GetContextObject(
  IModelObject **containingObject
);

パラメーター

containingObject

プロパティ アクセサー メソッドに渡されるコンテキスト オブジェクトがここで返されます。

戻り値

このメソッドは、成功または失敗を示す HRESULT を返します。

注釈

コード サンプル

ComPtr<IModelObject> spObject; /* get an object */

ComPtr<IModelKeyReference> spKeyRef;
if (SUCCEEDED(spObject->GetKeyReference(L"Id", &spKeyRef, nullptr)))
{
    ComPtr<IModelObject> spContextObject;
    if (SUCCEEDED(spKeyRef->GetContextObject(&spContextObject)))
    {
        // spObject and spContextObject should be the same.
        // This is *NOT* true if there was an intervening call to OverrideContextObject 
    }
}

要件

要件
Header dbgmodel.h

こちらもご覧ください

IModelKeyReference インターフェイス