Partager via


IModelObject ::SetKey, méthode (dbgmodel.h)

La méthode SetKey est la méthode vers laquelle un client doit se tourner pour créer une clé sur un objet (et éventuellement associer des métadonnées à la clé créée). Si un objet donné a déjà une clé avec le nom donné, l’un des deux comportements se produit. Si la clé se trouve sur le instance donné par ceci, la valeur de cette clé est remplacée comme si la clé d’origine n’existait pas. Si, en revanche, la clé se trouve dans la chaîne des modèles de données parents de l’instance donné par ce, une nouvelle clé portant le nom donné est créée sur le instance donné par ceci. Cela entraînerait, en effet, l’objet à avoir deux clés du même nom (similaire à une classe dérivée ombrage d’un membre du même nom qu’une classe de base).

Syntaxe

HRESULT SetKey(
  PCWSTR       key,
  IModelObject *object,
  IKeyStore    *metadata
);

Paramètres

key

Nom de la clé pour laquelle définir une valeur.

object

La valeur de la clé est définie sur l’objet contenu dans cet argument.

metadata

Métadonnées facultatives à associer à la clé nouvellement définie.

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 */

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

Configuration requise

Condition requise Valeur
En-tête dbgmodel.h

Voir aussi

Interface IModelObject