1

USBデバイス用のWindowsドライバーを使用していますが、デバイスが私のドライバーを使用するように、インストールでMicrosoftの組み込みクラスドライバーをオーバーライドする必要があります。

ドライバーは自己署名されていますが、WHQL署名されていません。インストールはVistaまたはWin7で問題ありません。この場合、SetupAPIはドライバーを署名済みとして認識し、組み込みのクラスドライバーよりも優先ドライバーとして選択します。

ただし、これはWindowsXPSP3では機能しません。SetupAPIログは、ドライバーを検出したことを示していますが、信頼できないと見なしています。(ログの抜粋:「ドライバーノードが信頼されていません。ランクが0x00000001から0x0000c001に変更されました」)

ここスタックオーバーフローや他の場所での同様の質問に対する以前の回答は、WHQL署名がこれがXPで機能する唯一の方法であることを示唆しています。それは本当にそうですか、それとも既知の回避策はありますか?

回避策や問題の解決策に関する情報が記載されたリソースへのリンクはありますか?

この件についての助けに感謝します。

4

1 に答える 1

0

はい、これは本当にそうです。

私のプロジェクトで使用する回避策について言及したかもしれませんが、あなたの製品は幅広い市場を対象としており、デバイスが静的なデバイス インスタンス ID を持つことに依存できないため、それはあなたには関係ありません。(「既知の」デバイス インスタンス ID を維持するために、USB ハブ上でフィルター ドライバーを使用します。これについて言及しているのは、私たちが使用する「謎の」回避策に興味があるかもしれないからです。)

ところで、デバイス フィルター ドライバーとしてドライバーを書き直すこともできます。同じ WHQL 制限の対象ではありません。

編集:顧客のルート証明書ストアに証明書をインストールする意思がある場合 (顧客を遠ざける可能性がある危険な選択)、解決策があるかもしれません: WinXP USB ドライバーをプレインストールして、操作なしでデバイスを接続できるようにする

于 2011-07-10T12:27:40.783 に答える