Microsoft OS 2.0 Descriptor

| コメント(0) | トラックバック(0)
いつの間にか一般公開されていました。

Microsoft OS 2.0 Descriptors Specification

いきなりindex=0EEhのString Descriptorを読みに来るため、死ぬ製品があったMicrosoft OS Descriptorですが、そういった問題を起こさない新版として作られたのが2.0で、Windows 8.1からサポートされています。

公開日が9/16ということは、Windows 8.1 RTMがMSDN等で公開されたより少し後ですね。ちなみに日本語ページはデザインにバグがあってダウンロードできないため、英語ページへのリンクです。

詳しくは仕様書を読んでもらえばわかりますが、Certified Wireless USBから追加されたBOS Descriptorを拡張する形で実装されています。でもCapability Codeが標準BOSのすぐ後ろ(5)なのですが、BOSへの機能追加があったら大丈夫なのかと思ったり。

元のBOSがそうなのですが、柔軟な仕様になっています。平たく言えば、バイト列を手作業で作るのがとても面倒くさい。イメージとしてはConfiguration Descriptorの親玉で、サイズ情報を含むヘッダーで区切られた入れ子構造になっています。

bcdUSBを210hとすればOSがBOS Descriptorを読みに来ますが、少なくともWindowsではUSB 2.0 EXTENSIOSが必須となります。bmAttiributesに0(NO LPM)でも入れておけば大丈夫です。

P.S.
でもよく考えてみると、既存製品のことも考えれば1.0がなくなることはあり得ず、行儀正しい仕様に作り直しました、という以上の意味はないような気がします。そもそもWin8.1以降に限定しない限り2.0のみにはできませんし。

どちらかというとWindows Embedded向けなのでしょうか。あの世界なら1.0を止めるカスタマイズも可能でしょうから。

トラックバック(0)

トラックバックURL: http://mychro.mydns.jp/cgi-bin/mt/mt-tb.cgi/473

コメントする

アーカイブ

ウェブページ

Powered by Movable Type 5.2.13

ホームページ