...
Warning | ||
---|---|---|
| ||
Начиная с версии RtPcsc 5.0.0 при ее использовании для обнаружения нового считывателя с помощью "\\?PnP?\Notification", необходимо указывать количество уже известных приложению считывателей в верхнем слове dwCurrentState. Например, так:
Если ожидаемое приложением количество считывателей не совпадет с реальным, управление будет сразу же возвращено, а в верхнем слове dwEventState будет содержаться текущее количество считывателей. Пример работы с функцией SCardGetStatusChange, учитывающий поведение описанное на GitHub. |
...
- при RUTOKEN_CONTROL_CODE_START_NFC: параметр задан в формате
"\(waitMessage)\0\(workMessage)\0\0"
и содержит два сообщения:- waitMessage отображается во время ожидания карты,
- workMessage отображается во время работы с картой;
- при RUTOKEN_CONTROL_CODE_STOP_NFC: параметр содержит сообщение о завершении работы с картой;
- при RUTOKEN_CONTROL_CODE_STOP_NFC_WITH_ERROR: параметр содержит сообщение о завершении работы с картой с уведомлением об ошибке;
- при RUTOKEN_CONTROL_CODE_LAST_NFC_STOP_REASON: параметр не используется.
Рекомендуемый порядок работы с Рутокеном с NFC
...
- получить список доступных ридеров с помощью функции SCardListReaders;
- если ридер еще не появился – дождаться его появления с помощью функции SCardGetStatusChange;
- вызов функции SCardConnect для нужного ридера с параметром dwShareMode == SCARD_SHARE_DIRECT;
- вызов функции SCardControl с параметром RUTOKEN_CONTROL_CODE_START_NFC;
- работа с Рутокеном;
- вызов функции SCardControl с параметром RUTOKEN_CONTROL_CODE_STOP_NFC;
- вызов функции SCardDisconnect.
...