IModelObject::SetKey 方法 (dbgmodel.h)

SetKey 方法是客户端将转向的方法,以便对对象创建密钥(并可能将元数据与创建的密钥相关联)。 如果给定对象已有具有给定名称的键,则会发生两种行为之一。 如果密钥位于由此给定的实例上,则将替换该键的值,就好像原始键不存在一样。 另一方面,如果密钥位于此实例的父数据模型链中,则会在此给定的实例上创建具有给定名称的新键。 实际上,这将导致对象具有同名的两个键(类似于与基类同名成员的派生类阴影)。

语法

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

参数

key

要为其设置值的键的名称。

object

键的值将设置为此参数中包含的对象。

metadata

要与新设置的键关联的可选元数据。

返回值

此方法返回指示成功或失败的 HRESULT。

言论

代码示例

ComPtr<IDataModelManager> spManager; /* get the data model manager */

// Create a new object with a property called "Test" with a value of 42.
ComPtr<IModelObject> spNewObject;
if (SUCCEEDED(spManager->CreateSyntheticObject(nullptr, &spNewObject)))
{
    VARIANT vtVal;
    vtVal.vt = VT_I4;
    vtVal.lVal = 42;

    ComPtr<IModelObject> sp42;
    if (SUCCEEDED(spManager->CreateIntrinsicObject(ObjectIntrinsic, &vtVal, &sp42)))
    {
        if (SUCCEEDED(spNewObject->SetKey(L"Test", sp42.Get(), nullptr)))
        {
            // We have placed a static "42" on the new object under the key "Test"
        }
    }
}

要求

要求 价值
标头 dbgmodel.h

另请参阅

IModelObject 接口