Skip navigation.
ホーム
BLOG-ROMMER 日高のブログ

デバイスドライバー

デバイスドライバー

古いUSBドライバーをWindows 10 で使いたい

Windows 7のサポート期限 が近づいて来て、ここ最近聞く様になったのが古いOS用のUSBドライバーを Windows 10 で使いたいという話だ。

どれぐらい古いかと言うと、Windows 2000 とか Windows XP だったりする。当然 32bit Only、そして使いたいのは最新の Windows 10 64bit版。ご存知の方も多いと思うが、昔の Windows 32bit版のドライバーは、結構そのまま Windows 7 (32bit)にインストールできて動作してしまう。しかし Windows 10 のカーネルモードで動作する一般的な USB ドライバーは、 KMCS (Kernel Mode Code Signing) ポリシーや、sha2署名UEFIセキュアブート での厳格な署名制限があり、単純に古い WDM (WDFでも同じ) のUSBドライバーを再ビルドしただけでは、問題無く動作するとは言えない。そこでその大昔のドライバーを Windows 10用 に対応させるためにどの様な方法があるかを、一から開発し直すことも含めて整理した。

Windows 10用ドライバー署名(2019年版)

新しいダッシュボードの運用が始まり、Windows 10 のドライバー署名方法の方法が変わって約3年経った。今でも時折質問が来るので、整理して解説する。

前提:証明書と署名

混同している方が結構多いため、大前提として再度確認するわけだが、証明書(Cerificate)署名(SignatureまたはSigning) は異なるものである。

一般的に証明書は、メーカーやユーザーが証明書発行機関(会社)から調達する。通常は1年程度の有効期限がある。電子的なものだが、例えば後述の EV証明書(Extended Validation 証明書)は、次の写真の様なUSBドングルに入っている。

再発行不可なので、無くしてはいけない。時代に逆行している様に思えるが、物理デバイスが必須である。詳しい事情は良く知らないが、どこかの国でどこかの会社がいい加減な証明書をバラまいたためにこの様な事態になったという噂がある。

Windows 10 ユニバーサルドライバー開発

まとまった文献が少ないので、Windows 10 ユニバーサルドライバー開発について、現在分かっているところを書き止める。

ユニバーサルドライバー

ユニバーサルドライバーとはWindows 10の導入に伴って、これまでカーネル部がほぼ同じにも関わらずバラバラだったデバイスドライバー(以降ドライバー)の開発環境、ツールとソースコード、バイナリーオブジェクトを全て一つに統一したものの名称である。

現在のところ、従来のWindows Phoneに相当する Windows 10 Mobile, タブレット用のWindows 10 Mobile Enterprise と Windows 10で新開発の Windows 10 IoT Core が新たに追加される対象ターゲットだが、近い将来はXboxやHoloLensなどもサポート対象に含まれる。現在決まっているWindows 10のエディションについては、ITmediaの記事がわかり易くまとまっている。参考までに掲載する。
http://www.itmedia.co.jp/pcuser/articles/1505/14/news067.html

インターフェース誌 その他のWindowsデバイスドライバ関連記事

インターフェース誌 その他のWindowsデバイスドライバ関連記事へのリンクです。

2010年2月号
特集 Windows 7時代のデバイス・ドライバ開発
プロローグ ハードウェアとアプリケーションをつなぐ架け橋
デバイス・ドライバはなぜ必要か

第1章 Windows 7になってどんなドライバ・クラスが追加されたのか
Windows 7の新機能とWindowsドライバの基礎知識

Appendix 1 デバイス・ドライバ開発に必要な知識と情報収集方法について
デバイス・ドライバ開発技術者の心得

第2章 デバイス・ドライバを開発するにはどんなツールが必要か
ドライバ開発ツールWDKと基本的な使い方

第3章 3軸加速度&照度センサ搭載USBターゲットをWindows 7マシンに接続する
センサ&ロケーション・フレームワーク・ドライバの開発事例

Appendix 2 64ビット版Windowsではデバイス・ドライバの署名は必須!
64ビット版ドライバとコード署名手順

Windows 8のハードウェアとデバイスはどれだけ変わるか?

既報の通り、アナハイム・コンベンション・センターで開催されたイベント「build」においてWindows 8が正式発表された。一言でいうとWindows 8は既存のWindowsをOSの核としながらも、全く新しいOSだと言える。

勿論、既存の環境との互換性も考慮しているが、ユーザーインターフェースが一新し、またハードウェアに対する要求事項が大きく変わった。MetroやWinRT (Windows Runtime) でソフトウェアがどのように変わるかについては情報も多いので、この場ではハードウェアとデバイスとドライバがどのように変わるかに注目して報告する。



コードネーム Windows 8

先日各メディアで報道された、開発コードネーム Windows 8 に関する情報をまとめる。

随分前、Windows 7 の正式Launchの頃から「次はWindows 8 だ」とかいう噂は各所で聞いていたが、遂に噂が姿を現した。

詳細はBUILD Windowsで。

Windows Touch でSilverlightでイナーシア (Inertia)

「Windows Slate/Windows 7/マルチタッチ対応アプリケーション開発者会議」というのが去年12月にあって参加して来た。参加者はなんらかのアプリケーションを公開しなくてはならないので、夢は大きいものの中身がしょぼくて申し訳無いがここに公開する。



MVP Global SummitでのQ&A

少し前のことだが、2月16日から19日の間、Microsoftで毎年開催されるMVP Global Summitに参加してきた。

その年、MVP(Most Valuable Professional)をMicrosoftからカテゴリ別に受賞した技術者が、世界中からMicrosoftキャンパス(本社)に集まるイベントである。KeynoteやGeneral Sessionもあるが、メインは2日間みっちり専門分野別に開かれるTechnical Sessionだ。これは開発チームとのミーティングで、私の場合はWindowsデバイスドライバに関連したMicrosoftの開発者達から様々な最新情報を聞くだけでなく、意見を伝えたり、その場で質問に答えたりして貰えるので、毎年楽しみにしている。今回は、うちのセミナーで出てきたいくつかの質問に対する答えを貰ったので紹介する。

ユーザーモード・ドライバ tech-ed 2009 Yokohama BoF

急きょ、明日から始まるtech-ed 2009 Yokohamaで登壇することになった。

限られた時間ではあるが、BoFで少しだけWindows 7 に組み込まれている新しい機構について解説する。

インターフェース誌 連載 「Windows Vista時代のデバイス・ドライバ開発」 2007年5月号~2009年3月号

CQ出版「インターフェース」誌の連載が終了したので、ここにまとめます。

2007年5月号
第1回 Vistaのデバイス・ドライバ・モデルと開発ツール

2007年6月号
第2回 サンプル・ドライバのビルドとインストール&テスト方法

2007年7月号
第3回 Windowsロゴ取得の手順(その1)

2007年8月号
第4回 Windowsロゴ取得の手順(その2)

コンテンツ配信