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 |