Как управлять считывателями смарт-карт без карты на них?
Ну, в эти дни я пытаюсь разработать программное обеспечение, которое использует считыватели смарт-карт, я использую ACR1252u и обнаружил, как жужжать мой считыватель смарт-карт, если на считывателе есть метка или карта. но все же интересно, как я могу это сделать без карты на считывателе. код, который работает, когда карта находится на считывателе, находится ниже:
retCode = Card.SCardConnect(hContext, readername, Card.SCARD_SHARE_SHARED, Card.SCARD_PROTOCOL_T0 | Card.SCARD_PROTOCOL_T1, ref hCard, ref Protocol); Byte[] setBuzzerOff = new Byte[6]; setBuzzerOff[0] = 0xE0; setBuzzerOff[1] = 0x00; setBuzzerOff[2] = 0x00; setBuzzerOff[3] = 0x28; setBuzzerOff[4] = 0x01; setBuzzerOff[5] = 0x00; UInt32 controlcode = 3500; int pcBytesReturned = 0; Byte[] RecieveBuff = new Byte[1]; int status=Card.SCardControl(hCard, controlcode,ref setBuzzerOff[0],6,ref RecieveBuff[0], RecieveBuff.Length,ref pcBytesReturned); MessageBox.Show(status.ToString());
Проблема-это когда, смотря по ситуации на читателя статусом, который ошибки показывает 6. что значит неверный дескриптор!. Но почему жужжание считывателя связано с тем, что карта находится над считывателем? есть ли в любом случае, чтобы перевернуть это? потому что после этого я хочу включить светодиоды, пока карта не находится над считывателем - ребята, плз, если кто-то решил эту проблему, скажите нам.
Что я уже пробовал:
Я прошел через http://the--semicolon.blogspot.it/p/this-is-simple-way-to-restart-your.html
а также здесь было сказано, что можно использовать SCardControl для доступа к считывателю без доступной карты.
http://pvbookmarks.readthedocs.io/en/latest/devel/drivers/usb/classes/ccid/pc_sc/pcsc_tools/proprietary/commands.html