Share via


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

El método SetKey es el método al que un cliente cambiará para crear una clave en un objeto (y posiblemente asociar metadatos a la clave creada). Si un objeto determinado ya tiene una clave con el nombre especificado, se producirá uno de los dos comportamientos. Si la clave está en la instancia dada por esto, el valor de esa clave se reemplazará como si la clave original no exista. Si, por otro lado, la clave está en la cadena de modelos de datos primarios de la instancia dada por esto, se creará una nueva clave con el nombre especificado en la instancia dada por este. Esto provocaría, en efecto, que el objeto tuviera dos claves del mismo nombre (similar a una clase derivada que sombrea un miembro del mismo nombre que una clase base).

Sintaxis

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

Parámetros

key

Nombre de la clave para la que se va a establecer un valor.

object

El valor de la clave se establecerá en el objeto contenido en este argumento.

metadata

Metadatos opcionales que se asociarán a la clave recién establecida.

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 */

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

Requisitos

Requisito Valor
Header dbgmodel.h

Consulte también

Interfaz IModelObject