Compartir a través de


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

El método SetKey de una referencia de clave se comporta como 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.

Observaciones

de ejemplo de código de

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
encabezado de dbgmodel.h

Consulte también

interfaz IModelKeyReference