DeviceServicingTrigger クラス

定義

デバイスの実行時間の長い更新 (ファームウェアまたは設定) を開始するためにアプリケーションがトリガーできるイベントを表します。

Windows 8.1を使用すると、USB、HID、Bluetooth 経由で通信する周辺機器用の UWP アプリを開発できます。 たとえば、ユーザーが PC 上のコンテンツをデバイスとの間で同期したり、設定やファームウェアの更新など、デバイス自体に対して実行時間の長い更新を実行したりする必要がある場合があります。 Windows 8.1には、デバイスをバックグラウンドで同期および更新できる 2 つのバックグラウンド タスクと対応する API (DeviceServicingTrigger と DeviceUseTrigger) が用意されています。 このトピックでは、DeviceServicingTrigger の API リファレンス情報を提供します。デバイス アプリのコンテキストでこのトリガーを使用する方法については、「UWP デバイス アプリの デバイス同期と更新」を参照してください。

DeviceServicingTrigger バックグラウンド タスクを使用すると、周辺機器と対話する UWP アプリで、アプリの中断中に長時間実行されるデバイスの更新 (設定の転送やファームウェアの更新など) を実行できます。 バックグラウンドでデバイスを更新するには、バックグラウンド タスクが使用されるたびにユーザーの承認が必要です。 DeviceUseTrigger バックグラウンド タスクとは異なり、DeviceServicingTrigger バックグラウンド タスクでは、デバイスの再起動と切断が可能で、最大 30 分のバックグラウンド アクティビティが許可されます。

重要

このトリガーは、単一プロセスのバックグラウンド タスクでは使用できません。

public ref class DeviceServicingTrigger sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DeviceServicingTrigger final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class DeviceServicingTrigger final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DeviceServicingTrigger
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class DeviceServicingTrigger
function DeviceServicingTrigger()
Public NotInheritable Class DeviceServicingTrigger
継承
Object Platform::Object IInspectable DeviceServicingTrigger
属性
実装

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

注釈

周辺機器を更新するときにユーザーの同意を確保するために、Windows によって特定のポリシーが適用されます。 周辺機器を同期および更新する際、バッテリ残量を維持するためのポリシーも適用されます。 DeviceServicingTrigger バックグラウンド タスクには、次のポリシーが適用されます。

  • DeviceServicingTrigger バックグラウンド タスクでは、トリガーされるたびにユーザーの同意が必要です。
  • DeviceServicingTrigger を要求するときは、デバイスを PC に接続するか、PC とペアリングする必要があります。
  • DeviceServicingTrigger を使用したデバイスの更新では、アプリで最大 30 分 (壁時計) のバックグラウンド アクティビティが許可されます
  • アプリがフォアグラウンドにいない間、アプリは DeviceServicingTrigger バックグラウンド タスクを要求できません。
  • アプリでは、一度に 1 つの DeviceServicingTrigger のみを実行できます。 2 つ目の DeviceServicingTrigger を作成しようとすると、例外が発生します。
  • PC のバッテリーの容量が 33% を超えているか、PC が A/C 電源になっている必要があります。
  • これらのポリシー要件が満たされなくなったときに、Windows によって DeviceServicingTrigger バックグラウンド タスクが取り消される場合があります。これには、最大ウォール クロックのバックグラウンド時間が含まれます。

注意

DeviceServicingTrigger バックグラウンド タスクを使用する UWP アプリも、デバイスの特権アプリである必要があります。 アプリ特権は、デバイスの製造元によって周辺機器のデバイス メタデータで指定されます。 UWP アプリが DeviceServicingTrigger バックグラウンド タスクをトリガーしようとすると、Windows は、呼び出し元のアプリが更新しようとしているデバイスの特権アプリであることを検証します。 アプリがデバイスに対して特権を持っていない場合、Windows はバックグラウンド タスクの起動を許可しません。

DeviceServicingTrigger バックグラウンド タスクに対して Windows によって適用されるアプリ特権とポリシー チェックの詳細については、「UWP デバイス アプリのデバイスの同期と更新」を参照してください。

コンストラクター

DeviceServicingTrigger()

DeviceServicingTrigger のコンストラクター。 パラメーターを受け取らなくなります。

メソッド

RequestAsync(String, TimeSpan)

バックグラウンド タスク (設定またはファームウェアの更新) をトリガーし、トリガー要求の成功または失敗を示す DeviceTriggerResult を返します。 DeviceInformation.ID 文字列と、バックグラウンド タスクが実行される省略可能な推定時間を受け取ります。 アプリで適切な時間見積もりを決定できない場合は、見積もり時間として 0 を指定します。

RequestAsync(String, TimeSpan, String)

バックグラウンド タスク (設定またはファームウェアの更新) をトリガーし、トリガー要求の成功または失敗を示す DeviceTriggerResult を返します。 DeviceInformation.ID 文字列、バックグラウンド タスクが実行される推定時間 (省略可能)、および実行するデバイス操作を識別するバックグラウンド タスクに渡される省略可能なアプリ固有の文字列を受け取ります。 アプリで適切な時間見積もりを決定できない場合は、見積もり時間として 0 を指定します。

適用対象

こちらもご覧ください