テクニカル ドキュメント #98



Doc ID: 98
製品: WinDriver
Version:  --

複数の WinDriver のアプリケーションから同時に、同じデバイスにアクセスできますか?

同じカードにアクセスする複数の WinDriver のドライバ アプリケーションを作成することは可能ですが、推奨いたしませんし、一般的には必要ないと思われます。

そのようなデザインを実装する際に、同期化の問題に十分に注意してください。同期化の問題を回避するには、対象のハードウェアへのアクセスで一つのポイントのみを使用することを推奨します。 一つのプロセスのみが直接ハードウェアへアクセスし、他のプロセスは、このプロセスを通してのみハードウェアへアクセスするようにしてください。 このデザインの利点は、一つのポイントのみが同期化を必要とします。

注意: ただし、そのようなデザインの実装と関連する問題に関しては、テクニカル サポートの対象外となりますので、ご了承ください。従って、このようなデザインが本当に必要かどうか、注意深くご検討ください。

USB の場合、同じデバイスに対して WDU_Init() の複数の呼び出しは成功する場合もありますが、最初の attach callback がデバイスのコントロールを受け付けた後、関連する WDU_Init() の呼び出しに対する WDU_Uninit() を呼び出すまで、他の attach の通知は受信しません。 シングル プロセスを使用して、シングル attache callback 関数でシングル WDU_Init() の呼び出しを実行することで、複数の WDU_Init() の呼び出しによる問題を回避してください (上記の説明のとおり)。

PCI/PCMCIA/ISA の場合、WD_CardRegister() 関数への複数の呼び出しの問題に関しては、テクニカル ドキュメント #21 を参照してください。