Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод 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 |