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 |