IModelObject::SetKey-Methode (dbgmodel.h)
Die SetKey-Methode ist die Methode, die ein Client verwendet, um einen Schlüssel für ein Objekt zu erstellen (und dem erstellten Schlüssel möglicherweise Metadaten zuzuordnen). Wenn ein bestimmtes Objekt bereits über einen Schlüssel mit dem angegebenen Namen verfügt, tritt eines von zwei Verhaltensweisen auf. Wenn sich der Schlüssel auf der instance befindet, die dadurch angegeben wird, wird der Wert dieses Schlüssels so ersetzt, als ob der ursprüngliche Schlüssel nicht vorhanden wäre. Befindet sich der Schlüssel hingegen in der Kette der übergeordneten Datenmodelle des instance, so wird ein neuer Schlüssel mit dem angegebenen Namen auf dem instance erstellt. Dies würde in der Tat dazu führen, dass das Objekt zwei Schlüssel mit demselben Namen besitzt (ähnlich wie eine abgeleitete Klasse, die ein Element mit demselben Namen wie eine Basisklasse überschatten würde).
Syntax
HRESULT SetKey(
PCWSTR key,
IModelObject *object,
IKeyStore *metadata
);
Parameter
key
Der Name des Schlüssels, für den ein Wert festgelegt werden soll.
object
Der Wert des Schlüssels wird auf das in diesem Argument enthaltene Objekt festgelegt.
metadata
Optionale Metadaten, die dem neu festgelegten Schlüssel zugeordnet werden sollen.
Rückgabewert
Diese Methode gibt HRESULT zurück, das auf Erfolg oder Fehler hinweist.
Hinweise
Codebeispiel
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"
}
}
}
Anforderungen
Anforderung | Wert |
---|---|
Header | dbgmodel.h |