WDK for Windows 10, version 1803

WDK for Windows 10, version 1803 がリリースされました。 以下のドキュメントの手順に沿って、Windows 10 x64 version 1803 にインストールしてみます。   Download the Windows Driver Kit (WDK) < https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk >   Visual Studio 2017 をインストール   以下の3 つのエディションのいずれかをインストールします。 ·         Download Visual Studio Community 2017 ·         Download Visual Studio Professional 2017 ·         Download Visual Studio Enterprise 2017   インストールする際、[ワークロード] タブで[C++ によるデスクトップ開発] にチェックを入れます。これにより、WDK 1803…


新しい Windows Driver Kit documentation

新しい Windows Driver Kit documentation が公開されました! 皆様、久方ぶりです。WDK サポートチームの石沢です。 今回は Widows Driver 開発についてのドキュメントが一新されたことについてのお知らせです。 Windows Driver Kit documentation https://docs.microsoft.com/en-us/windows-hardware/drivers/ 各ドキュメントの右上に注目していただきたいのですが、フィードバックがコメントとして投稿できるようになったりと、 インターフェースからかなり変わりましたので、是非一度目を通してみてください。 WDK サポートチーム 石沢 望夢


パブリック シンボルとプライベート シンボル

他社でのダンプ解析やライブデバッグのために、自社ドライバのシンボルファイルを提供しないといけないけど、ローカル変数やソースコードの行番号まで出したくないと思ったことはありますか?   内部変数やソースコードの行番号がわかると、リバースエンジニアリングできてしまう可能性が高まったり、API を他社向けに提供している場合に、ローカル変数等がそれをご利用される他社様にわかり、それを前提にコーディングされてしまいますと、API を提供している側としては、その後の実装変更がやりづらくなったり、API を提供されている側としても互換性を保てなくなったりするリスクが高まるかと思います。かといって、それを恐れて、今困っているお客様の現象を調べるために、シンボルファイルを提供しない、というのも、問題の解決が遅れたり、誤った解析結果につながり、お客様の信頼を失うという別のリスクにつながりかねません。   今回は、そのような皆様に、パブリック シンボルとプライベート シンボルのご紹介をしたいと思います。誤解を恐れずにイメージだけを端的に言えば、ローカル変数やソースコードの行番号が含まれる方が「プライベート シンボル」、それらを除いた関数名やグローバル変数が含まれる方が「パブリック シンボル」です。今回の記事では、シンボルについておさらいをした後、パブリックシンボルとプライベートシンボルの違いについてご説明し、最後にその両方をどのように作成するかをご説明します。     シンボルとシンボル ファイル   まず、シンボルとシンボル ファイルについて、おさらいしておきましょう。   シンボル ファイルとは、ドライバ (.sys や.dll) やアプリケーション (.exe) をビルドすると、一緒に作成される、同じ名前の .pdb という拡張子を持つファイルです。   通常、シンボル ファイルは以下のものを含みます。   ・グローバル変数 ・ローカル変数 ・関数名とそのエントリポイントのアドレス ・FPO (Frame Pointer Omission) レコード ・ソースコードの行番号   厳密には、これらのそれぞれを、個別に「シンボル」と呼びます。   ただ、私たちがお客様に「シンボルをください」とお願いする時は、シンボル ファイルそのものを指すことが多いです。   シンボル ファイルが必要な理由は、効率性の面で様々ありますが、それよりも正確性の面で、今見ているコールスタックが間違っていない状態にする必要があるからです。例えば「WARNING: Stack unwind information not available….


新しい WDK for Windows 10 version 1703

[更新] 2017 年 4 月 28 日 に、インストール後の注意点に関する記述を追加しました。     Windows 10 Version 1703 のリリースに合わせて、新しい WDK が公開されました!   お花見の季節ですね、WDK サポートチームの石沢です。 新しい Windows Driver Kit (WDK) はこちらからダウンロードできますので、是非お試しください!   WDK、WinDbg、および関連ツールのダウンロード https://developer.microsoft.com/ja-jp/windows/hardware/windows-driver-kit   インストール時の注意点 WDK 1703 をインストールされる際は、以下の 2 点にご注意ください。   ・2017 年 4 月 12 日現在では、Visual Studio 2017 には対応しておりません。Visual Studio 2015 Update 3 をご利用ください ・Windows 10, version 1607…


新しい WDK (Build 10586) と EWDK を使ってドライバーをビルドするまで

何もインストールせずにドライバーをビルドできる環境があれば嬉しい…そう思ったことはありませんか?   皆さまこんにちは。WDK サポートチームの JS です。   以前は、「Windows 10 でサンプル ドライバーをビルドするまで」で Windows 10 用に新しく公開されたキットを紹介しましたが、そのキットが、2015 年 11 月 の November Update に合わせて、新しく公開されました。また、新しいドライバービルド用の環境として、Enterprise WDK (EWDK) と呼ばれる新しいキットが公開されました。   EWDK では、コマンド ラインをベースにしたビルド環境と提供しております。また、ビルド環境もファイルでまとまっているため、詳細なインストール手順はなく、ファイルのダウンロードとシンプルなコマンドの実行だけで利用することが可能です。 Visual Studio と統合されている従来の WDK を利用するためには、事前に、マシンに Visual Studio 及び WDK を都度 インストールする必要がありましたが、コンパクトになったこの EWDK を利用することでそれらの工程を経ることなくビルドに進めることが可能となっております。   サンプル ドライバーのビルドまでのステップについて、前回のバージョンから少々 変更点がありますので、この記事では、最新のツールを利用した、Toaster サンプルのビルドまでに必要な手順を、改めてご紹介したいと思います。EWDK を使ったドライバーのビルド手順も記載しましたので、併せてご参照いただけたら幸いです。   1.    新しい Visual Studio と WDK を使った…


Windows 10 と SHA-1 廃止ポリシーによるドライバー署名への影響について

[更新] 2017 年 11 月 28 日 に、「EV 証明書」表記を「EV コード署名証明書」表記に修正しました。 [更新] 2017 年 2 月 17 日 に、ダッシュボードで行われる署名の詳細に関する記述を変更しました。また、ダッシュボードの運用に関するご質問についてのご案内を追加しました。 [更新] 2017 年 1 月 28 日 に、Windows 10 で無効となる署名について、ユーザーモードドライバーに関する記述を追加しました。 こんにちは。JS です。   現在、ドライバーの署名に関する今後の対応について、ドライバー開発者の多くは何かしらの質問を抱えているかもしれません。 Windows 10 のリリースに合わせて署名ポリシーに大きな変更があり、また、SHA-1 ハッシュ アルゴリズムを利用しているコード署名用証明書 (以下 SHA-1 証明書) の廃止についても、適用が開始される 2016 年 1 月 1 日が近づいているので、今後 どのような方法でドライバーの署名を行うべきか、数々のお問い合わせをいただいております。   そのような質問を出来る限り解消できるよう、現在 Windows ではどのようにドライバー署名を利用していて、今後どのように利用する予定なのか、今一度 まとめた上でご紹介したいと思います。   このエントリでは、大きく分けて以下…


Windows 10 でサンプル ドライバーをビルドするまで

こんにちは。JS です。   Windows 10 がリリースされ、それに合わせて、Windows Driver Kit (以下 WDK) をはじめとする Windows 用の Kit も新しいバージョンが発表されました。今回は、その中で、Windows 10 でドライバーのビルドができるまでの必要なステップを紹介していきたいと思います。   ドライバー開発の観点から見ると、Windows 8.1 時代からツールの機能にそこまで大きな変更点はないので、このエントリは、ツールのインストールに続いて、サンプルドライバーのビルドまでを紹介します。 必要なステップは大きく分けて以下の 4 つです。   1. Visual Studio 2015 のインストール 2. Windows 10 SDK のインストール 3. Windows Driver Kit 10 のインストール 4. サンプル ドライバーのビルド   では、それぞれのステップを以下にご説明いたします。   1. Visual Studio 2015 のインストール Windows 10 に合わせてリリースされた…


Visual Studioを使ったネットワークカーネルデバッグの方法

こんにちは、JS です。     今回は、Visual Studio を使ったネットワーク接続でのカーネルデバッグについて、設定の手順を紹介したいと思います。     最近、シリアルポートがない PC が多いため、手軽に利用できるネットワークケーブルでのカーネルデバッグの接続方法に関するお問い合わせが増えております。WinDbg を使った方法は、すでに K 里さんが「ネットワークケーブルを用いたカーネルデバッグ接続の設定手順」で書かれているので、今回は Visual Studio で接続する方法をご案内したいと思います。MSDN ドキュメントにも、「Setting Up Kernel-Mode Debugging over a Network Cable in Visual Studio」の記事が用意されているので、併せてご確認いただければ幸いです。     主な手順は以下の 3 つになります。 1.環境の用意 2.Visual Studio 上での設定 3.デバッガーの動作確認     1.環境の用意 カーネルデバッグを行うためには、ホスト PC とターゲット PC の、2 台の PC が必要となります。参考として、私が使った環境を紹介したいと思います。   今回使用している OS は、ホスト・ターゲット共に Windows…


Windows Driver Kit (WDK) 8.1 がリリースされました

皆様、ご無沙汰しております。なおきお~です。 先日、Windows 8.1のリリースに伴い、Windows Driver Kit for Windows 8.1もリリースされました。 前バージョンであるWindows Driver Kit for Windows 8.0 は、Windows Kits 8.0 の一部として、Visual Studio 2012 にインテグレードしていました。 今回の Windows Driver Kit for Windows 8.1 も Visual Studio にインテグレードするという同じような方式で利用することなりますが、対象となる Visual Studio は、Visual Studio 2013 だけになります。Visual Studio 2012 には、Windows Driver Kit for Windows 8.1 をインテグレードすることができないことをお気を付けください。 さて、今回は、Windows Driver Kit for Windows 8.1 で新たに追加された項目から Windows…


WDK 8 の Help ドキュメント

久方ぶりです。まさかたです。 今回は、WDK 8 のヘルプドキュメントをローカルで見るために必要な操作について簡単にご紹介したいと思います。 以前の WDK 7.1 では、WDK のインストールにより、スタートメニューから表示可能なヘルプドキュメントがありましたが、WDK 8 からは、Visual Studio に統合されたことから、ヘルプドキュメントの見方が少し変わっておりますので、ご注意ください。 具体的には、まず Visual Studio 2012 の [ヘルプ] メニューより、[ヘルプ コンテンツの追加と削除(C)] を選択します。 すると、「Microsoft ヘルプビューアー 2.0」が表示されるので、「コンテンツの管理」のタブで、”Driver” といったキーワードで検索します。 そして、”Windows Driver Development – 英語” という検索結果が表示されるので、アクションとして、”追加” をクリックし、さらに右下にある [更新] ボタンを押します。 ちなみに、ビューアーの上部には、「コンテンツを追加すると、利用可能な更新で全てのローカルドキュメントが自動的に更新されます。」とありますが、何らかの要因で自動で更新できない場合もあるかと思いますので、右下に表示される更新の状態を定期的にチェックして、必要に応じて手動で最新のコンテンツに更新いただくのがいいかもしれません。 その結果、WDK のヘルプ ドキュメントのコンテンツのダウンロードが開始されます。 コンテンツのダウンロードが完了すると、インストール元をディスクにすると、確かにローカルに”Windows Driver Development – 英語” が保存されていることが確認できます。 そうしたら、左側のコンテンツタブを選ぶと、「ヘルプビューアーホーム」の下に「Windows Driver Development (Windows Drivers) – 英語」のトピックが出てきますので、後はこれまで通り閲覧いただければと思います。 それと、”Windows Debugging” のヘルプドキュメントも有用な情報がたくさんありますので、こちらもダウンロードしておくことをお勧めいたします。…