Freigeben über


IModelKeyReference2::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

Weitere Informationen

IModelKeyReference2-Schnittstelle