Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод SetKey в ссылке на ключ ведет себя как метод SetKey в IModelObject. Присвойте ему значение ключа. Если исходный ключ был методом доступа к свойствам, он заменит метод доступа к свойствам. Метод 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".
}
}
}
Требования
Требование | Ценность |
---|---|
заголовка | dbgmodel.h |