

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Trabalhar com os recursos do Amazon DCV
<a name="work-with-features"></a>

A disponibilidade dos recursos do Amazon DCV depende das permissões configuradas para a sessão do Amazon DCV e dos recursos do navegador da web do cliente.

 Os recursos disponíveis em uma sessão do Amazon DCV são gerenciados pelas permissões que foram especificadas para a sessão. Isso significa que mesmo que um recurso seja compatível com o SDK do cliente web do Amazon DCV, o acesso a esse recurso pode ser impedido com base nas permissões definidas pelo administrador da sessão. Para obter mais informações, consulte [Configurar a autorização do Amazon DCV](https://docs.aws.amazon.com/dcv/latest/adminguide/security-authorization.html) no *Guia do administrador do Amazon DCV*. 

## Entender a função de retorno de chamada featuresUpdate
<a name="understand"></a>

 Quando a disponibilidade de um recurso em uma sessão do Amazon DCV muda, o SDK do Amazon DCV Web Client notifica você usando a função de retorno de chamada `featuresUpdate` que você especifica no momento do estabelecimento da conexão. Por exemplo: 

```
featuresUpdate: function (connection, list) {
  ...
},
```

 A função de retorno de chamada notifica você somente sobre os atributo cuja disponibilidade foi alterada. O parâmetro `list` é uma matriz de strings e inclui somente os nomes dos atributo atualizados. Por exemplo, se a disponibilidade do atributo de entrada de áudio for alterada durante a sessão, o parâmetro incluirá somente `["audio-in"]`. Se, posteriormente, a disponibilidade dos atributo de copiar e colar da área de transferência mudar para a sessão, o parâmetro incluirá somente `["clipboard-copy", "clipboard-paste"]`. 

## Controlar atualizações do atributo
<a name="handle"></a>

 A função de retorno de chamada `featuresUpdate` notifica você somente sobre os atributos cuja disponibilidade foi alterada. Para saber quais atributos foram atualizados, você deve consultar o atributo usando o método `connection.queryFeature`. Isso pode ser feito a qualquer momento após o recebimento da notificação de alteração. Esse método retorna uma `Promise` que resolve o status atualizado do atributo solicitado. O valor `status` está sempre associado e tem uma propriedade booleana (`true` \$1 `false`) chamada `enabled`. Alguns atributos podem ter propriedades adicionais no valor `status`. Se a disponibilidade do atributo não tiver sido atualizada, ela será rejeitada. 

O exemplo de código a seguir mostra como fazer isso.

```
// Connection callback called
function featuresUpdate (_, list) {
  if (list.length > 0) {
    list.forEach((feat) => {
      connection.queryFeature(feat).then(status => console.log(feat, "is", status.enabled)));
    });
  }
}
```