Pergunta

Estou escrevendo um aplicativo SmartCard. Este aplicativo conecta a placa no leitor e às vezes funciona com ele. Preciso assistir quando o leitor não está mais disponível (qualquer um dos cartões é ejetado ou o leitor é removido do USB).

Os leitores são assistidos usando SCARDSTATUSCHANGE. Esta função requer o nome do leitor para assistir.

Eu insiro dois leitores com cartões em slots USB. Eles são reconhecidos como "leitor de cartão inteligente USB 0" e "USB Smart Card Reader 1". Eu removo um leitor. O Windows diz: "USB Smart Card Reader 1" ainda está conectado. Eu o insiro - novamente ambos disponíveis. Agora eu removo o segundo. O Windows ainda diz "USB Smart Card Reader 1" está conectado. E esse é o problema, porque deve ser "leitor de cartão inteligente USB 0", que ainda está conectado. A rotina de rastreamento não pode assistir ao leitor porque o nome é alterado.

É um problema de driver ou problema do subsistema do XP SmartCard? O driver usado é a versão 5.2.3790.1830 do USB CCID (VID 076B, PID A021), USBCCID.SYS.

Foi útil?

Solução

Nós encontramos esse problema em um projeto e o manuseamos iterando através de cada leitor disponível e verificando para ver se um cartão é inserido nesse leitor. Você encontrará esse problema de nomeação com várias marcas de leitores USB.

Minha empresa possui um produto que permite integrar cartões inteligentes com sites; Uma de nossas demos lista os leitores de cartão inteligente atualmente disponíveis e pode ajudá -lo a testar diferentes cenários de leitores: https://cardboss.cometway.com/content.agent?page_name=getReaders+Demo

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top