米国時間の第 4 火曜日にリリースされる Windows 10 のアップデートについて

米国時間の第4 火曜日(日本時間の第4 水曜日) にリリースされたWindows 10 のアップデートが環境によって検出されずお困りになったことはありますでしょうか?   この第4火曜日にリリースされるアップデートは、通常、毎月第 2 火曜日に公開されるアップデートと同様、Update Catalog / WSUS / Windows Update にて公開されます。 ただし、Windows Update に関しては、以下の違いがあるため、冒頭の現象が発生します。 (a) Windows Update for Business では公開されません (b) 明示的にWindows Update で利用可能な更新を検索したユーザーのみに公開されます   Windows Update for Business については、Windows 10 1703 (RS2) より、UI から設定が変更可能となっています。(以下の画像)         Windows Update のページにある[詳細オプション] から”Current Branch for Business” となっている場合、Windows Update for Business…


カーネルモード デバッガで UMDF ドライバをライブデバッグする

UMDF ドライバをデバッグする際に、ユーザーモード デバッガでWUDFHost.exe にアタッチしてライブデバッグするだけではデバッグしきれなくて困ったことはありませんか?   例えば、OS のシャットダウン中の処理をデバッグしたい場合、ユーザーモード デバッガを操作している画面がシャットダウン中になるため、デバッガをその画面から操作できなくなります。   そこで、今回は、カーネルモード デバッガ(windbg.exe) でUMDF ドライバをデバッグする方法をご紹介します。カーネルモード デバッガからであれば、画面がシャットダウン中であっても、UMDF ドライバのブレークポイントで止めて、ライブデバッグすることができます。   具体的には、以下の手順で進めます。   ターゲットPC へのUMDF2 ドライバのインストール ターゲットPC へのWDFVerifier.exe のコピー カーネルモードデバッガをターゲットPC にアタッチ WDFVerifier.exe によるターゲット PC の設定 動作確認   今回は、例として、デバッガのホストPC、ターゲットPC ともにWindows 10 (1703) x86 で行います。また、サンプルドライバをビルドする開発用PC はデバッガのホストPC と同一とします。   1.ターゲットPCへのUMDF2 ドライバのインストール   ターゲットPC にUMDF2 ドライバをインストールします。今回は、例として、UMDF2 のToaster Sample のwdffeaturedum.dll を使用します。   サンプルの入手とビルド方法は、以下のエントリの「1. サンプルの入手」と「2. サンプルのビルド」をご参照ください。…


デバイスマネージャーの [表示] を [デバイス (接続別)] に切り替える

切り分けのために、接続したデバイスと PC のバスとの間でどんなドライバーが動いているか知りたいと思ったことはありますか?   皆さん、こんにちは。Windows Driver Kit サポートチームの津田です。今回は、そんな皆様に、デバイス マネージャーの [表示] を、デフォルトの [デバイス (種類別)] から [デバイス (接続別)] に切り替え、各デバイス ノードからドライバーを確認できるところをお見せしたいと思います。また、同じドライバー構成をカーネルデバッガーでデバイス ノードをたどって確認する方法もご紹介します。   今回、例として Windows 10 (1607) x86 を使います。   1. [スタート] メニューを右クリックして、[デバイス マネージャー] をクリックして、デバイス マネージャーを起動します。 2. 任意のデバイスをクリックします。今回は例として、[ディスクドライブ] にある [Virtual HD ATA Device] をクリックします。     3. 上図のように、[表示] をクリックすると、[デバイス (種類別)] となっているので、[デバイス (接続別)] をクリックします。     4. 上図の通り、対象デバイスが接続されている場所がツリー状に表示されます。上記の例では、以下のツリーになっています。  …


アクティブメモリダンプ

皆様、アクティブメモリダンプはご存知でしょうか。Windows 10 から追加された新しいダンプファイルの形式です。   いかがお過ごしでしょうか。WDK サポートチームの石沢です。 アクティブメモリダンプは、その特徴として、完全メモリダンプよりファイルサイズを抑えられることが挙げられます。 また、カーネルメモリダンプには存在しない、一部のユーザー空間のメモリ情報が付加されることも挙げられるでしょう。 上記のような特徴から、完全メモリダンプを出力するほどストレージの空き容量に余裕がない、出力に時間がかかってしまう、またカーネルメモリダンプでは情報が足りないという場合の選択肢として考えられます。 もちろんデバッグ時に、潤沢なリソースや環境がある場合は、完全メモリダンプを取得いただくことをお勧めいたします。   取得方法はいたって簡単! 先日の津田さんが執筆された記事「完全メモリダンプ採取の設定方法」の手順 (4) では [完全メモリダンプ] を選択しているのですが、こちらを [アクティブ メモリ ダンプ] に変更するだけです。     あとはダンプファイルを生成して、コールスタックを確認すれば…ユーザー空間の情報が残っていることが確認できますね! 以下の例では、ntdll や USER32 などのユーザー空間上の処理がコールスタックから確認することができています。   kd> k ChildEBP RetAddr  (…略…) 0008f5d4 76f75b83 NotMyfault+0x21f9 0008f600 76f56d5a USER32!_InternalCallWinProc+0x2b 0008f688 76f565dd USER32!UserCallDlgProcCheckWow+0x102 0008f6dc 76f72b32 USER32!DefDlgProcWorker+0xad 0008f6f8 76f75b83 USER32!DefDlgProcA+0x22 0008f724 76f59d1a USER32!_InternalCallWinProc+0x2b 0008f7bc 76f59af5 USER32!UserCallWinProcCheckWow+0x1aa 0008f818…


完全メモリダンプ採取の設定方法

Windows でブルースクリーンが発生した際に、完全メモリダンプを採取できるようにするための手順をご案内します。   Windows 7までの OS の場合は、「メモリダンプに !analyze -v するまで・前編 ~ ダンプの取り方~」<https://blogs.msdn.microsoft.com/jpwdkblog/2009/06/03/analyze-v-2/> のエントリの「1. カーネル デバッグと完全メモリ ダンプ ファイル」をご参照ください。   Windows 8以降は、以下の手順となります。   (1)  Windows 8 では [スタート画面] の画面左下端、Windows 8.1 では [スタート] (画面左下端 Windows アイコン) を右クリックし、[システム] をクリックします。 (※ ただし、Windows 8 でサポートをご提供するためには、2016 年 1 月 12 日以降 Windows 8.1 にしていただく必要があります。)   (2) [システムの詳細設定] をクリックします。   (3) [システムのプロパティ] の…


Windows 10 update history 公開

新しいビルド番号のWindows 10 がリリースされた時、ご自身のソフトに影響しそうな改善・修正が含まれていないか気になりませんか?   皆さん、こんにちは。WDK サポートチームの津田です。今回は、そのような内容が気になる皆様のために、Windows 10 のリリースノートとして、今月より公開が始まりました “Windows 10 update history” のページをご紹介します。URL は以下です。   Windows 10 update history http://windows.microsoft.com/en-us/windows-10/update-history-windows-10   Windows 10 は、現在主要なバージョンには「2015 年 7 月にリリースされた初期バージョン (10240)」と「2015 年 11 月にリリースされたバージョン 1511 (10586)」があります。上記のサイトでは、それぞれへの修正の概要が記載されています。現時点では、2 月 9 日にリリースされた更新の修正情報のみが記載されています。   また、上記ページの右側に、以下のページへのリンクがあります。   Windows 10 release information https://technet.microsoft.com/ja-jp/windows/release-info   このページでは、Windows 10 のビルド番号と KB 番号の対応関係の履歴を公開しています。   Windows 10 で何らかお困りの現象が発生した場合には、上記のサイトをご確認いただくことで、以下の切り分けにご利用いただけるかと存じます。  …


WDF ソースコード公開

皆様、いかがお過ごしでしょうか。WDK サポートチームの石沢です。 今回の記事より Twitter アカウント MSDEVJP より更新をお知らせいただけることになりました!是非ご活用ください。また Twitter よりお越しの皆様、初めまして!本ブログではドライバ開発に関する記事を公開しております。今後とも何卒よろしくお願いいたします。 今回は Windows Driver Frameworks (WDF) に関するお話しです。 去年の 3 月に WDF のソースコードが GitHub 上に公開されました。  Windows Driver Frameworks これにより Windows 10 では WDF を含めたデバッグをできるようになったわけなのですが、今回はどのように設定すればソースコードデバッグできるのか具体的な手順を詳しく解説いたします。   <今回のメニュー> カーネルデバッグ開始 シンボルパスとソースパスの設定 ブレイクポイントを設定しよう Go! 上手くいかないときは   ■ 1.カーネルデバッグ開始 まずはカーネルデバッガ (Windbg) を接続しましょう。今回は Windows 10 バージョン 10586に接続しています。 バージョンは Windbg 接続時に以下のように表示されますので、把握しておくとよいでしょう。   Connected to Windows 10…


マイクロソフト ランゲージ ポータル

皆さん、はじめまして。祝田です。   今回は、ある問題が発生した時に皆さんが、まず、するであろう情報収集や事例の検索などの手助けとなるサイト マイクロソフト ランゲージ ポータル を紹介したいと思います。 マイクロソフト ランゲージ ポータル 多くの場合、日本語を主言語としている方であれば特別な理由や、こだわりがない限り、基本的には日本語版の OS をご利用いただいているかと思います。そのため、問題が発生したときに表示されるエラーメッセージや、問題が発生しているユーザーインターフェースの表記についても日本語で表示されている場合がほとんどです(一部英語のままの場合もありますが・・・)。 問題が発生した時に表示されるエラーメッセージ、例えば、次のようなイベントログが出力されていた場合 そのエラーに関する情報を収集するために、まずは Web 上でこのエラーメッセージやエラーコードをキーワードで検索するのではないかと思います(すくなくとも私はします)。ごく一般的な機能や、メジャーなエラーコードなどであれば、多数の情報がヒットして、その時点で目的の情報にたどりつけるかもしれません。 しかし、自分の担当している機能や、開発しようとしているものが必ずしも日本において一般的であるとは限りません。その場合、英語のエラーメッセージで検索することで、より多くの情報にたどりつける ”可能性“ は高くなると思います。 と、少々前置きが長くなりましたが、そのような場合、冒頭に記載したランゲージ ポータルを利用して、日本語表記されている内容が英語版の OS (あるいは他の言語の OS) では、どのように表示されているのか取得できます。つまり、表記を確認するだけであれば、OS の言語の切り替えや、複数言語の OS を基本的には準備しなくていいのです。 では、簡単に使い方を紹介します。 1.       まず、以下の用語検索の URL へアクセスします。 https://www.microsoft.com/Language/ja-jp/Search.aspx 2.       上の画像のイベントログに記載されている、エラーの内容の一部、たとえば [デバイス設定をこれらの構成に設定しています] をコピーします。 3.       [検索文字列] のテキストボックスに、コピーしたテキストを貼り付けます。 4.       以下のように [検索対象言語] から、”日本語” を選び検索ボタンをクリックします。 5.       マイクロソフトの製品群で、検索文字列のメッセージを持っている各製品一覧と、その英語表記が表示されます。以下の表はその結果の一例です。 英語 訳 製品 Failed to upgrade…


RemoteFX USB デバイス リダイレクトに対応する際の留意点

皆さん、こんにちは。Windows Driver Kit サポートチームの津田です。   今月、英語ではございますが、以下の技術情報を公開しました。スキャナをご利用の方やスキャナドライバの開発者のお役に立つと思いますので、その内容をご紹介します。     RemoteFX USB redirected scanner doesn’t start on Windows Server 2012 or Windows Server 2012 R2   https://support.microsoft.com/en-us/kb/3125295   これは、「RemoteFX USB デバイス リダイレクト」で接続されたスキャナが Windows Server 2012 または Windows Server 2012 R2 においてスキャンの開始ができない、という現象についての技術情報です。 ちなみに、「RemoteFX USB デバイス リダイレクト」とは、リモートデスクトップ接続をしたときに、クライアント側の PC につながっている様々な USB デバイスを、リモートセッション上でも使えるようにする機能です。     デバイスやリソースをリモート デスクトップ セッションで使用する方法   http://windows.microsoft.com/ja-JP/windows7/How-can-I-use-my-devices-and-resources-in-a-Remote-Desktop-session  …


Windows 10 Driver Verifier の「コードの整合性チェック」フラグについて

こんにちは、JS です。今回は、ドライバー検証用ツール Driver Verifier にて Windows 10 で新しく追加された機能について、紹介していきたいと思います。   Driver Verifier は、OS に標準で含まれているドライバー検証用のツールで、さなえすさんの記事「ドライバー検証ツール」でも使い方などが紹介されています。 この Driver Verifier ですが、Windows 10 では新しいフラグが追加されました。「コードの整合性チェック」と呼ばれるものです。 「コードの整合性チェック」フラグが何を検証するか、そしてフラグをどのように設定するのかをについて、以下に記載しましたので、ご参照いただけたらと思います。   「コードの整合性チェック」フラグは、どの動作をチェックするのか? 「コードの整合性チェック」フラグは、対象ドライバーに対し、カーネル メモリ内に「書き込み可能」と同時に「実行可能」なコードがあるかどうかを確認します。前述のようなコードが見つかった場合、Bug Check が作動し、BSoD と共にダンプ ファイルが作成されます。 ダンプ ファイルを WinDbg で開き、!analyze -v を行うと以下の記述が確認できます。   0: kd> !analyze -v ******************************************************************************* *                                                                             * *                        Bugcheck Analysis                                    * *                                                                             * *******************************************************************************   DRIVER_VERIFIER_DETECTED_VIOLATION (c4) A device driver…