WinUSB方式
Microsoft提供の汎用USBドライバーWinusb.sysを機能ドライバーとして載せ、ユーザーモードから直接エンドポイントに読み書きできるようにするUSB機器接続方式。
- 概念URI
https://comcomponent.com/knowledge/winusb/
- 別名・表記
- Winusb.sys / WinUSB
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- WinUSB方式はUMDFドライバーより先に行うべきです。公式の選定順序は単純な方式から検討するもので、複数アプリの同時アクセスが不要ならWinUSBをUMDFドライバー開発より先に検討する。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- WinUSB方式はUSBデバイスクラスを利用します。Vendor Specific(FFh)など標準クラスに属さない機器では、WinUSBの利用がMicrosoftの推奨になる。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- WinUSB方式はMicrosoft OS記述子(WinUSBの互換ID)を前提とします。INFの配布なしにWinusb.sysが自動的に機能ドライバーとして載るのは、機器のファームウェアがMicrosoft OS記述子を持ち互換IDとしてWINUSBを報告する場合に限られる。カスタムINFを配布する経路ではOS記述子は不要。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- WinUSB方式は複数アプリからの同時アクセスと両立しません。WinUSBは複数のアプリケーションが同時に同じ機器へアクセスすることをサポートしない。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- WinUSB方式は機器の一意識別を前提とします。WinUSB方式で特定の1台を選び分ける必要がある場合は、デバイスインターフェースパスを鍵にして一意識別を行う。該当する1台しか繋がない構成や利用者に選ばせる設計では必須ではない / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- WinUSB方式はOverlapped I/Oを利用します。同期I/Oでは機器が応答しないとスレッドごと固まるリスクがあるため、WinUSBの読み取りはFILE_FLAG_OVERLAPPEDで開いた非同期I/O(Overlapped I/O)で回すのが実務上の通常の実装方法である(同期I/Oも可能)。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- WinUSB方式はGetOverlappedResultを利用します。WinUSBの非同期読み取りでは、転送できたバイト数をWinUsb_GetOverlappedResult(GetOverlappedResultに相当する仕組み)で取得する。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- WinUSB方式はCancelIoExを利用します。WinUSBのセッション後始末では、CancelIoExで処理中のI/Oを止めてから完了を回収し、ハンドルを解放する。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- WinUSB方式はドライバーパッケージのカタログ署名を前提とします。独自のINFを含むドライバーパッケージを配布する場合は、Microsoftのwinusb.sysを参照するだけのINFであっても、カタログファイルに署名がなければDriver Storeにステージされない。MS OS記述子でWINUSB互換IDを提示してinboxのwinusb.infにバインドさせる経路では、独自パッケージの配布自体が不要になる。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。