Compartilhar via


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

O método SetKey é o método ao qual um cliente recorrerá para criar uma chave em um objeto (e potencialmente associar metadados à chave criada). Se um determinado objeto já tiver uma chave com o nome fornecido, um dos dois comportamentos ocorrerá. Se a chave estiver na instância fornecida por isso, o valor dessa chave será substituído como se a chave original não existisse. Se, por outro lado, a chave estiver na cadeia de modelos de dados pai da instância fornecida por isso, uma nova chave com o nome fornecido será criada na instância fornecida por isso. Isso faria com que o objeto tivesse duas chaves de mesmo nome (semelhante a uma classe derivada sombreando um membro do mesmo nome que uma classe base).

Sintaxe

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

Parâmetros

key

O nome da chave para a qual definir um valor.

object

O valor da chave será definido como o objeto contido neste argumento.

metadata

Metadados opcionais a serem associados à chave recém-definida.

Retornar valor

Esse método retorna HRESULT que indica êxito ou falha.

Comentários

Exemplo 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
Cabeçalho dbgmodel.h

Confira também

Interface IModelObject