次の方法で共有


IModelKeyReference2::SetKey メソッド (dbgmodel.h)

キー参照の SetKey メソッドは、 IModelObject の SetKey メソッドと同様に動作します。 キーの値が割り当てられます。 元のキーがプロパティ アクセサーの場合は、プロパティ アクセサーが置き換えられます。 プロパティ アクセサーの SetValue メソッドは呼び出されません。

構文

HRESULT SetKey(
  IModelObject *object,
  IKeyStore    *metadata
);

パラメーター

object

キーに割り当てる値。

metadata

キーに関連付ける省略可能なメタデータ。

戻り値

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

注釈

コード サンプル

ComPtr<IDataModelManager> spManager; /* get the data model manager */
ComPtr<IModelObject> spObject;       /* get an object */

ComPtr<IModelKeyReference> spKeyRef;
if (SUCCEEDED(spObject->GetKeyReference(L"Id", &spKeyRef, nullptr)))
{
    VARIANT vtValue;
    vtValue.vt = VT_UI8;
    vtValue.ullVal = 42;

    ComPtr<IModelObject> sp42;
    if (SUCCEEDED(spManager->CreateIntrinsicObject(ObjectIntrinsic, &vtValue, &sp42)))
    {
        if (SUCCEEDED(spKeyRef->SetKey(sp42.Get(), nullptr)))
        {
            // The "Id" key has been overwritten with the value 42.  
            // If the "Id" key originally was a property accessor, it isn't anymore.
            // This would not have called SetValue() on the property accessor.  
            // It replaced the property accessor with a static "42".
        }
    }
}

要件

要件
Header dbgmodel.h

こちらもご覧ください

IModelKeyReference2 インターフェイス