

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon DCV 功能
<a name="work-with-features"></a>

Amazon DCV 功能的可用性取決於為 Amazon DCV 工作階段設定的許可，以及用戶端 Web 瀏覽器的功能。

 Amazon DCV 工作階段中可用的功能是由為工作階段指定的許可進行管理。這表示即使 Amazon DCV Web 用戶端 SDK 支援某項功能，根據工作階段管理員定義的許可，仍可能會阻止存取該功能。如需詳細資訊，請參閱《[Amazon DCV 管理員指南》中的設定 Amazon DCV 授權](https://docs.aws.amazon.com/dcv/latest/adminguide/security-authorization.html)。 **

## 了解 featuresUpdate 回呼函數
<a name="understand"></a>

 當 Amazon DCV 工作階段中的功能可用性變更時，Amazon DCV Web 用戶端 SDK 會使用您在建立連線時指定的回`featuresUpdate`呼函數來通知您。例如：

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

 回呼函數只會通知您可用性已變更的功能。`list` 參數是字串的陣列，而且只包含已更新功能的名稱。例如，如果工作階段的音訊輸入功能的可用性變更， 參數只會包含 `["audio-in"]` 。如果稍後，剪貼簿複製和貼上功能的可用性會變更工作階段，則 參數只會包含 `["clipboard-copy", "clipboard-paste"]` 。

## 處理功能更新
<a name="handle"></a>

 回`featuresUpdate`呼函數只會通知您一或多個功能的可用性已變更。若要了解哪些功能已更新，您必須使用 `connection.queryFeature`方法查詢該功能。這可以在收到變更通知後隨時完成。此方法傳回`Promise`解析為請求功能更新狀態的 。該`status`值一律相關聯，且具有名為 `enabled` 的布林值 ( `true` \$1 `false` ) 屬性。某些功能在 `status`值中可能會有其他屬性。如果功能的可用性尚未更新，則會遭到拒絕。

下列範例程式碼示範如何執行此操作。

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