私はスマートカードアプリケーションを書いています。このアプリケーションは、カードをリーダーに接続し、時々それで動作します。リーダーが使用できなくなったときに監視する必要があります (カードが取り出されるか、リーダーが USB から取り外されます)。
リーダーはSCardStatusChangeを使用して監視されます。この機能には、監視するリーダー名が必要です。
カード付きの 2 つのリーダーを USB スロットに挿入します。「USB Smart Card Reader 0」「USB Smart Card Reader 1」として認識されます。リーダーを 1 つ削除します。Windows は、「USB スマート カード リーダー 1」がまだ接続されていると表示します。私はそれを挿入します - 両方とも利用可能です。今、私は2番目のものを削除します。Windows はまだ「USB スマート カード リーダー 1」が接続されていると表示します。そして、まだ接続されている「USB Smart Card Reader 0」であるため、これが問題です。名前が変更されたため、追跡ルーチンはリーダーを監視できません。
ドライバーの問題ですか、それとも XP スマートカード サブシステムの問題ですか? 使用されるドライバーは、USB CCID Compliant バージョン 5.2.3790.1830 (VID 076B、PID A021)、usbccid.sys です。