USBDevice
=========

Limited availability
--------------------

This feature is not Baseline because it does not work in some of the most widely-used browsers.

* Learn more
* See full compatibility
* Report feedback
**Experimental:** **これは実験的な機能です。**  
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

WebUSB API の **`USBDevice`** インターフェイスは、ペアリングした USB デバイスのメタデータへのアクセスと、デバイスの制御用のメソッドを提供します。

インスタンスプロパティ
-----------

`USBDevice.configuration` 読取専用  
Experimental

ペアリングした USB デバイスの現在選択されているインターフェイスを表す `USBConfiguration` オブジェクトです。

`USBDevice.configurations` 読取専用  
Experimental

ペアリングした USB デバイスの制御用のデバイス固有のインターフェイスの `array` です。

`USBDevice.deviceClass` 読取専用  
Experimental

デバイスとともに動く USB ドライバーのロード用に USB デバイスを特定する 3 個のプロパティのうちの 1 個です。他の 2 個のプロパティは `USBDevice.deviceSubclass` と `USBDevice.deviceProtocol` です。

`USBDevice.deviceProtocol` 読取専用  
Experimental

デバイスとともに動く USB ドライバーのロード用に USB デバイスを特定する 3 個のプロパティのうちの 1 個です。他の 2 個のプロパティは `USBDevice.deviceClass` と `USBDevice.deviceSubclass` です。

`USBDevice.deviceSubclass` 読取専用  
Experimental

デバイスとともに動く USB ドライバーのロード用に USB デバイスを特定する 3 個のプロパティのうちの 1 個です。他の 2 個のプロパティは `USBDevice.deviceClass` と `USBDevice.deviceProtocol` です。

`USBDevice.deviceVersionMajor` 読取専用  
Experimental

セマンティックバージョニングスキームによるデバイスのメジャーバージョン番号です。

`USBDevice.deviceVersionMinor` 読取専用  
Experimental

セマンティックバージョニングスキームによるデバイスのマイナーバージョン番号です。

`USBDevice.deviceVersionSubminor` 読取専用  
Experimental

セマンティックバージョニングスキームによるデバイスのパッチバージョン番号です。

`USBDevice.manufacturerName` 読取専用  
Experimental

この USB デバイスを製造した組織の名前です。

`USBDevice.opened` 読取専用  
Experimental

ペアリングした USB デバイスとのセッションが開始しているかを表します。

`USBDevice.productId` 読取専用  
Experimental

製造元が定義する、USB デバイスを識別するコードです。

`USBDevice.productName` 読取専用  
Experimental

製造元が定義する、USB デバイスを識別する名前です。

`USBDevice.serialNumber` 読取専用  
Experimental

製造元が定義する、特定の USB デバイスのシリアル番号です。

`USBDevice.usbVersionMajor` 読取専用  
Experimental

デバイスが対応している USB のプロトコルバージョンを表す 3 個のプロパティのうちの 1個です。他の 2 個のプロパティは `USBDevice.usbVersionMinor` と `USBDevice.usbVersionSubminor` です。

`USBDevice.usbVersionMinor` 読取専用  
Experimental

デバイスが対応している USB のプロトコルバージョンを表す 3 個のプロパティのうちの 1個です。他の 2 個のプロパティは `USBDevice.usbVersionMajor` と `USBDevice.usbVersionSubminor` です。

`USBDevice.usbVersionSubminor` 読取専用  
Experimental

デバイスが対応している USB のプロトコルバージョンを表す 3 個のプロパティのうちの 1個です。他の 2 個のプロパティは `USBDevice.usbVersionMajor` と `USBDevice.usbVersionMinor` です。

`USBDevice.vendorId` 読取専用  
Experimental

usb.org で割り当てられた公式なベンダー ID です。

インスタンスメソッド
----------

`USBDevice.claimInterface()` 
Experimental

要求したインターフェイスの排他アクセスを獲得したら解決する `Promise` を返します。

`USBDevice.clearHalt()` 
Experimental

停止状態のクリアが完了したら解決する `Promise` を返します。

`USBDevice.controlTransferIn()` 
Experimental

コマンドまたは状態の操作の USB デバイスへの転送が完了したら `USBInTransferResult` で解決する `Promise` を返します。

`USBDevice.controlTransferOut()` 
Experimental

コマンドまたは状態の操作の USB デバイスからの転送が完了したら `USBOutTransferResult` で解決する `Promise` を返します。

`USBDevice.close()` 
Experimental

すべての開いているインターフェイスが解放され、デバイスのセッションが終了したら解決する `Promise` を返します。

`USBDevice.forget()` 
Experimental

すべての開いているインターフェイスが解放され、デバイスのセッションが終了し、許可をリセットしたら解決する `Promise` を返します。

`USBDevice.isochronousTransferIn()` 
Experimental

時間が重要な情報の USB デバイスへの転送が完了したら `USBIsochronousInTransferResult` で解決する `Promise` を返します。

`USBDevice.isochronousTransferOut()` 
Experimental

時間が重要な情報の USB デバイスからの転送が完了したら `USBIsochronousOutTransferResult` で解決する `Promise` を返します。

`USBDevice.open()` 
Experimental

デバイスのセッションが開始したら解決する `Promise` を返します。

`USBDevice.releaseInterface()` 
Experimental

要求済みのインターフェイスが排他アクセスから解放されたら解決する `Promise` を返します。

`USBDevice.reset()` 
Experimental

デバイスがリセットされ、アプリケーションによる操作がすべてキャンセルされ、それらのプロミスが拒否されたら解決する `Promise` を返します。

`USBDevice.selectAlternateInterface()` 
Experimental

指定のオルタナティブエンドポイントが選択されたら解決する `Promise` を返します。

`USBDevice.selectConfiguration()` 
Experimental

指定のコンフィギュレーションが選択されたら解決する `Promise` を返します。

`USBDevice.transferIn()` 
Experimental

USB デバイスからバルクまたはインタラプトデータを受信したら `USBInTransferResult` で解決する `Promise` を返します。

`USBDevice.transferOut()` 
Experimental

USB デバイスにバルクまたはインタラプトデータを送信したら `USBOutTransferResult` で解決する `Promise` を返します。

仕様書
---

| Specification |
| --- |
| WebUSB API # device-usage |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.