1

汎用の WinUsb を使用するために、USB デバイスの dll を移植しています。ただし、WinUsb は、同じデバイス (同じ VID & PID) への複数の同時アプリケーション アクセスをサポートしていません。WinUsb を使用してこの同時アクセスを実装する方法があるかどうか知りたいですか? フィルター ドライバーとサービスについて読みました。1. フィルター ドライバーを使用したくないのは、私が理解しているように、これは WHQL を通過する必要があり、むしろこのパスには行かないからです。2. Windows サービスについて: 具体的にはどのように実装すればよいですか? サービスは WinUsb へのすべての呼び出しを取得する必要があり、別のアプリケーションが同じデバイスにアクセスしようとすると、最初のアプリケーションへの接続が閉じられ、新しい接続が開かれ、再び元に戻りますか?

この場合、サービスは正しいソリューションですか? 私が書いたもの以外にソリューションを実装する別の方法はありますか?

ありがとう。

4

1 に答える 1

0

A filter driver does not need to pass WHQL. You only need to sign the catalog file, needed by the driver package. This only needs a code signing certigficate from verising/... . This should be a good starting place to get to know this.

Nevertheless, a kernel driver can be hard to develop. So maybe a COM server would be a better approach. You implement this sharing from a service, by allowing COM-clients to create objects from your service and then implement some kind of sharing/mutual exclusion in your COM-server.

A COM-exe servers can be written relativly fast.

于 2010-11-02T16:44:58.080 に答える