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"
        }
    }
}

要求

要求
Header dbgmodel.h

另请参阅

IModelObject 接口