Ввод с PIN Keypad

Наиболее часто применяемым на УС устройством ввода является PIN Keypad (EPP). Поскольку данный узел не является HID в терминах Windows, управление вводом осуществляется посредством ActiveX-компонента ContentManager. Основная задача ContentManagerа заключается в инициации процесса ожидания ввода пользователя и рассылке оповещений о нажатиях на клавиши EPP (как на цифровые, так на функциональные). Для того чтобы компонент получал оповещения о нажатиях, необходимо, чтобы он реализовал интерфейс IKeyHandler.

Данный модуль не совместим с модулем уравления крипто-модулем (PinManager), поэтому на html-странице может быть размещен либо ContentManager, либо PinManager.

Идентификаторы подключения

  • ProgID: AXContentManager.ContentManager;

  • CLSID: 3F1386E7-CF10-4290-A305-3B89C0F34B9D.

Свойства

  • BaseUrl – базовый Url-адрес, к которому добавляется относительный адрес, указанный в свойствах обработчиков оповещения;

  • DefaultButton – имя функциональной кнопки EPP, нажатие на которую эмулируется при нажатии на кнопку ACCEPT;

  • bGenerateJavascriptEvents – разрешения генерации событий о нажатиях кнопок ПИН-клавиатуры (дополнительно к рассылке через BroadcastKey);

  • bFreezeForEditString – флаг блокирования нажатий в адрес AXEditString (в адрес AXButton сообщения по-прежнему поступают).

Методы

SetKeyMask(ULONG ulStates, ULONG ulMask)

Задание состояния группе функциональных клавиш в соответствии с указанной маской.

  • ulStates – битовая карта, определяющая состояние конкретной клавиши. На каждую клавишу отводится 2 бита: 0-й – флаг видимости ассоциированного элемента управления, 1-й – флаг активности кнопки. Биты учитываются последовательно, для FDK01 используются биты 0 и 1, для FDK02 – 2 и 3, и т.д.

  • ulMask – битовая карта, определяющая актуальность соответствующих битов ulStates.

InputKeys()

Инициация процесса ожидания ввода пользователя.

Уведомления

OnError(ULONG ulErrorCode, BSTR bstrErrorText)

Уведомление приходит в случае возникновения какой-либо ошибки в процессе работы компонента.

OnPinKeyPressed(ULONG ulKeyCode)

Уведомление о нажатой клавише.

OnFdkKeyPressed(ULONG ulKeyCode)

Уведомление о нажатой FDK-клавише.