Compartir a través de


Método IModelKeyReference2::SetKey (dbgmodel.h)

El método SetKey en una referencia de clave se comporta como lo haría el método SetKey en IModelObject . Asignará el valor de la clave. Si la clave original era un descriptor de acceso de propiedad, esto reemplazará el descriptor de acceso de propiedad. No llamará al método SetValue en el descriptor de acceso de propiedad.

Sintaxis

HRESULT SetKey(
  IModelObject *object,
  IKeyStore    *metadata
);

Parámetros

object

Valor que se va a asignar a la clave.

metadata

Metadatos opcionales que se van a asociar a la clave.

Valor devuelto

Este método devuelve HRESULT que indica éxito o error.

Comentarios

Ejemplo de código

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

Requisitos

Requisito Valor
Header dbgmodel.h

Consulte también

Interfaz IModelKeyReference2