

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Trabajo con características de Amazon DCV
<a name="work-with-features"></a>

La disponibilidad de las características de Amazon DCV depende de los permisos configurados para la sesión de Amazon DCV y de las capacidades del navegador web del cliente.

 Las características que están disponibles en una sesión de Amazon DCV se administran mediante los permisos que se han especificado para la sesión. Esto significa que, incluso si una característica es compatible con el Amazon DCV Web Client SDK, es posible que se impida el acceso a esa característica en función de los permisos definidos por el administrador de la sesión. Para obtener más información, consulte [Configuración de la autorización de Amazon DCV](https://docs.aws.amazon.com/dcv/latest/adminguide/security-authorization.html) en la *Guía del administrador de Amazon DCV*. 

## Comprender la función de devolución de llamada de featuresUpdate
<a name="understand"></a>

 Cuando cambia la disponibilidad de una característica en una sesión de Amazon DCV, el Amazon DCV Web Client SDK se lo notifica mediante la función de devolución de llamada `featuresUpdate` que especifique al establecer la conexión. Por ejemplo: 

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

 La función de devolución de llamada solo le notifica las características cuya disponibilidad ha cambiado. El parámetro `list` es una matriz de cadenas e incluye solo los nombres de las características actualizadas. Por ejemplo, si la disponibilidad de la característica de entrada de audio cambia para la sesión, el parámetro solo incluye `["audio-in"]`. Si en un momento posterior, cambia la disponibilidad de las características de copiar y pegar del portapapeles durante la sesión, el parámetro solo incluye `["clipboard-copy", "clipboard-paste"]`. 

## Gestión de la actualización de características
<a name="handle"></a>

 La función de devolución de llamada `featuresUpdate` solo le notifica que la disponibilidad de una o varias características ha cambiado. Para saber qué características se actualizaron, debe consultarlas mediante el método `connection.queryFeature`. Esto se puede hacer en cualquier momento después de recibir la notificación de cambio. Este método devuelve una `Promise` que pasa al estado actualizado de la característica solicitada. El valor `status` siempre está asociado y tiene una propiedad booleana (`true` \$1 `false`) llamada `enabled`. Es posible que algunas características tengan propiedades adicionales en el valor `status`. Si la disponibilidad de la característica no se ha actualizado, se rechaza. 

El siguiente ejemplo de código muestra cómo hacerlo.

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