Pregunta

Estoy escribiendo un servicio de Windows que se deben manejar los lectores de tarjetas inteligentes.

Muy a menudo, cuando intento conectar a una tarjeta inteligente insertada, SCardConnect() falla con SCARD_E_SHARING_VIOLATION que básicamente significa:

  

La tarjeta inteligente no se puede acceder debido a otras conexiones pendientes.

Justo lo suficiente.

supongo que a lo menos un otro trata de procesos para acceder a la inteligente al mismo tiempo. Pero hay una manera para determinar qué proceso (s) que es?

¿Fue útil?

Solución

En su lugar me gustaría probar con el href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx" Proceso Explorador para ver en los identificadores de archivos abiertos por su aplicación si accede a los lectores de tarjetas inteligentes. Para ello hay que seleccionar su proceso y presione Ctrl-H (menú "Ver" / "Low panel de vista" / "HANDES"). Después de conocer el nombre del dispositivo de los lectores de tarjetas inteligentes usted será capaz de averiguar otros procesos que utilizan el dispositivo Si recibe el error SCARD_E_SHARING_VIOLATION. Usted sólo debe utilizar Ctrl-F (menú "Buscar" / "Encuentra Mango o DLL ...") para encontrar identificador de archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top