64bitドライバ開発メモ

今までWindows7 32bitでやってきたことをWindows10 64bitでやろうとしたら、64bitドライバが必要になった。
32bitドライバを作成した頃に比べてやることが増えているのでメモ。
あとで参考サイトを加筆修正する予定です。

1.64bitドライバは署名が必要
 通常は認証機関に登録が必要になる。
 Windowsをテストモードかつドライバ署名無効常態にすれば、署名なしのドライバをインストールすることができる。
 やり方は他のサイトに詳細が載っているのでそちらを参考に。
 私はセキュアブートがなにかと不便なので、開発中はUEFIを使わずレガシーBIOSを使うようにしている。
 セキュアブートはUEFIの機能なので、レガシーBIOSを使えば必然的にオフとなる。
 なお、Windowsでセキュアブートが有効になっているか確認するにはMSINFO32.EXEを使えば、セキュアブートの状態を確認できる。


2.VisualStudioコンパイラ(x64ビルドの場合)がインラインアセンブラ非対応
   ⇒他のインラインアセンブラが使えるコンパイラ(gcc等)を使うか、アセンブリコードだけビルドしてから後でリンクする。
    この辺りもネットで検索すれば丁寧に解説してくれてるサイトが沢山存在する
   32bitOS時にインラインアセンブラを使っていた場合、苦戦することに。

3.64bitドライバのインストール後はWindowsのテストモードを解除してもドライバは問題なく動作する。

<参考URL>
テストモード、ドライバ署名チェック無効方法
http://pasofami.game.coocan.jp/Win10_DrvIns.htm

64bitドライバの自己署名の方法
http://天翔記.jp/?page=nobu_mod_the_digital_sign