2

スマート カード リーダーを処理する必要がある Windows サービスを作成しています。

挿入されたスマートカードに接続しようとすると、SCardConnect()失敗することがよくありますSCARD_E_SHARING_VIOLATION。これは、基本的に次のことを意味します。

他の未解決の接続があるため、スマート カードにアクセスできません。

けっこうだ。

少なくとも 1 つの他のプロセスが同時に Smart にアクセスしようとしていると思います。しかし、それがどのプロセスであるかを判断する方法はありますか?

4

1 に答える 1

3

あなたの場所では、プロセス エクスプローラーを使用して、スマート カード リーダーにアクセスする場合に、アプリケーションによって開かれたファイル ハンドルを確認します。これを行うには、プロセスを選択してCtrl-H(メニュー "View"/"Low Pane View"/"Handes") を押す必要があります。スマート カード リーダーのデバイス名がわかれば、エラーが発生した場合にそのデバイスを使用する他のプロセスを見つけることができSCARD_E_SHARING_VIOLATIONます。Ctrl-F(menu "Find"/"Find Handle or DLL...") を使用して、ファイル ハンドルを検索します。

于 2010-10-13T11:15:59.330 に答える