Método IModelKeyReference::SetKey (dbgmodel.h)
El método SetKey de 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 |