Partager via


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

La méthode SetKey est la méthode vers laquelle un client va 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é portant le nom donné, l’un des deux comportements se produit. Si la clé se trouve sur l’instance donnée par cela, la valeur de cette clé est remplacée comme si la clé d’origine n’existait pas. Si, d’autre part, la clé se trouve dans la chaîne de modèles de données parents de l’instance donnée par cela, une nouvelle clé portant le nom donné est créée sur l’instance donnée. Cela entraînerait, en effet, que l’objet ait deux clés du même nom (similaire à une classe dérivée ombrant 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 de retour

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

Exigences

Exigence Valeur
d’en-tête dbgmodel.h

Voir aussi

interface IModelObject