IModelKeyReference::SetKey-Methode (dbgmodel.h)
Die SetKey-Methode für einen Schlüsselverweis verhält sich wie die SetKey-Methode auf IModelObject . Er weist den Wert des Schlüssels zu. Wenn der ursprüngliche Schlüssel ein Eigenschaftsaccessor war, ersetzt dies den Eigenschaftenaccessor. Die SetValue-Methode für den Eigenschaftenaccessor wird nicht aufgerufen.
Syntax
HRESULT SetKey(
IModelObject *object,
IKeyStore *metadata
);
Parameter
object
Der Wert, der dem Schlüssel zugewiesen werden soll.
metadata
Optionale Metadaten, die dem Schlüssel zugeordnet werden sollen.
Rückgabewert
Diese Methode gibt HRESULT zurück, das den Erfolg oder Fehler angibt.
Hinweise
Codebeispiel
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".
}
}
}
Anforderungen
Anforderung | Wert |
---|---|
Header | dbgmodel.h |