質問

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

非常に頻繁に、挿入されたスマートカードに接続しようとすると、 SCardConnect() で失敗します SCARD_E_SHARING_VIOLATION これは基本的に:

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

けっこうだ。

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

役に立ちましたか?

解決

あなたの場所で私は一緒に試してみます プロセスエクスプローラー 開いたファイルハンドルを見るには あなたの申請 スマートカードリーダーにアクセスする場合。これを行うには、プロセスを選択して押す必要があります ctrl-h (メニュー「ビュー」/「低ペインビュー」/「ハンド」)。スマートカードリーダーのデバイス名を知った後、あなたは見つけることができるでしょう デバイスを使用する他のプロセス 受け取ったら SCARD_E_SHARING_VIOLATION エラー。使用する必要があります ctrl-f (メニュー「検索」/「ハンドルまたはdllを検索...」)ファイルハンドルを見つける。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top