none
USBデバイスドライバで、初回インストール後再起動要求について RRS feed

  • 質問

  • いつもお世話になります。

    ドライバ開発の初心者です。

    WDKにあるサンプルソースを元にして、USBドライバーを作成し、USBにターゲットを接続し、ダイヤログに従いin、sysfファイルのパスを指定して、ドライバーのインストールを行なうと、初回のUSB接続時のみ、再起動要求画面が出てしまいます。

    この再起動要求をしない様にしたいのですが、どこをどうすればよいかが、解らず、悪戦苦闘をしています。

    infの「StartType」も0,1,2,3と変えて試しましが、改善されませんでした、「サンプルソースでは3」。

    何方か、問題となりそうなポイントのヒント、参考など、をご教示を頂けないでしょうか。

    よろしくお願い致します。

    • 移動 Mike Wang (MSCS) 2012年10月2日 12:42 (移動元:Windows デバイスドライバー開発)
    2010年12月14日 16:09

回答

  • WDK のどのサンプルを参考にされたのかは存じませんが、少なくとも inf ファイルの "StartType" は、
    サンプル ソースと同じ 3 (SERVICE_DEMAND_START) にしておく必要があると思います。

    再起動要求のダイアログが表示されたタイミングでデバイス マネージャを開いたときに、
    デバイス ツリー上にそのデバイスは表示されていますでしょうか?
    もし表示されていて、かつそのデバイスに "!" マークが付いているようであれば、そのプロパティに
    表示されているエラー コードが重要な手掛かりになると思います。
    このエラー コードは、以下のコードに対応しています。

    -----------------------------------------------
    Device Manager Error Messages
    http://msdn.microsoft.com/en-us/library/ff541422(VS.85).aspx
    -----------------------------------------------

    あとこの現象が Setup API に関係してる場合、setupapi.log (Vista 以降の OS では setupapi.xxx.log)
    ファイル内にエラー情報が残っている可能性がありますので、こちらも併せて確認されてみると、なにか
    わかるかもしれません。

    参考になりましたら幸いです。

    2010年12月16日 3:36

すべての返信

  • WDK のどのサンプルを参考にされたのかは存じませんが、少なくとも inf ファイルの "StartType" は、
    サンプル ソースと同じ 3 (SERVICE_DEMAND_START) にしておく必要があると思います。

    再起動要求のダイアログが表示されたタイミングでデバイス マネージャを開いたときに、
    デバイス ツリー上にそのデバイスは表示されていますでしょうか?
    もし表示されていて、かつそのデバイスに "!" マークが付いているようであれば、そのプロパティに
    表示されているエラー コードが重要な手掛かりになると思います。
    このエラー コードは、以下のコードに対応しています。

    -----------------------------------------------
    Device Manager Error Messages
    http://msdn.microsoft.com/en-us/library/ff541422(VS.85).aspx
    -----------------------------------------------

    あとこの現象が Setup API に関係してる場合、setupapi.log (Vista 以降の OS では setupapi.xxx.log)
    ファイル内にエラー情報が残っている可能性がありますので、こちらも併せて確認されてみると、なにか
    わかるかもしれません。

    参考になりましたら幸いです。

    2010年12月16日 3:36
  • 御忙しいところ、ご教示を頂き、誠に有難うございます。

    >WDK のどのサンプルを参考にされたのかは存じませんが、少なくとも inf ファイルの "StartType" は、
    >サンプル ソースと同じ 3 (SERVICE_DEMAND_START) にしておく必要があると思います。

    はい、有難うございます。 3 (SERVICE_DEMAND_START)で進めていきます。

    サンプルは、usbsampのsysをベースしました。

    >再起動要求のダイアログが表示されたタイミングでデバイス マネージャを開いたときに、
    >デバイス ツリー上にそのデバイスは表示されていますでしょうか?

    pnputilでプレインストールし、USBにデバイスを、接続し、PNPにより、デバイスドライバの準備が

    整ったぐらいで、再起動要求のダイヤログが出てきます。

    デバイスドライバと、デバイスマネージャとのやり取の辺が要因の気がしていますが、デバイスドライバは全くの初心者なので

    どこをどう確認したら良いか、途方にくれております。

    >もし表示されていて、かつそのデバイスに "!" マークが付いているようであれば、そのプロパティに
    >表示されているエラー コードが重要な手掛かりになると思います。
    >このエラー コードは、以下のコードに対応しています。

    エラーコード及び、setupapi.log を今一度確認をしてみます。

    ご教示を頂き有難うございました。

     

    2010年12月16日 14:35