Méthode IModelKeyReference ::SetKey (dbgmodel.h)
La méthode SetKey sur une référence de clé se comporte comme la méthode SetKey sur IModelObject . Il affectera la valeur de la clé. Si la clé d’origine était un accesseur de propriété, cela remplacera l’accesseur de propriété. Il n’appelle pas la méthode SetValue sur l’accesseur de propriété.
Syntaxe
HRESULT SetKey(
IModelObject *object,
IKeyStore *metadata
);
Paramètres
object
Valeur à affecter à la clé.
metadata
Métadonnées facultatives à associer à la clé.
Valeur retournée
Cette méthode retourne HRESULT qui indique la réussite ou l’échec.
Remarques
Exemple de code
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".
}
}
}
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbgmodel.h |