Поставщик службы-оболочки поставщика

Цель программы-оболочки поставщика — инкапсулировать и использовать низкоуровневые COM-интерфейсы (предоставляемые производителями интеллектуальных карта) для конкретной интеллектуальной карта. Эти интерфейсы не предоставляются корпорацией Майкрософт.

программа-оболочка поставщика

Как описано в части 6 Спецификации взаимодействия для ICCs и персональных компьютерных систем (см. спецификации в ), https://pcscworkgroup.comфункциональность, предоставляемые этой оболочкой, проще использовать, чем функции четырех отдельных поставщиков услуг. Функциональные возможности оболочки можно разделить на четыре main области:

  • Смарт-карта службы проверки подлинности, такие как получение запроса и проверка подлинности карта.
  • Смарт-карта доступ к файлам или службы файловой системы, такие как открытие, закрытие, чтение и запись.
  • Интеллектуальное управление карта, например подключение и отключение.
  • Смарт-карта службы проверки, такие как проверка и изменение кода.

Примечание

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

 

Функциональные возможности зависят от типа используемых карта (которые поддерживаются карта, протоколов и т. д.) и будут отличаться для каждой карта.

Пример оболочки Microsoft SCardCOM использует библиотеку ATL COM для реализации простой оболочки и создания шаблона для других оболочек. Он реализует следующие интерфейсы.

Интерфейс или объект Описание
ISCardAuth
Службы проверки подлинности.
ISCardFileAccess
Службы файловой системы.
ISCardManage
Службы управления.
ISCardVerify
Службы проверки.

 

Примечание

Пример SCardCOM приведен только в качестве примера реализации интерфейсов-оболочек. Чтобы предотвратить конфликт имен DLL с другими поставщиками, не следует использовать SCardCOM.dll в качестве имен всех создаваемых библиотек DLL.

 

Ниже приведено типичное использование оболочки поставщика. В этом примере используется интерфейс ISCardManage для создания экземпляров интерфейсов, которые будут упакованы в поставщик услуг, и интерфейс ISCardVerify для проверки их работы.

Создание поставщика службы-оболочки

  1. Создайте экземпляр интерфейса ISCardManage . Используйте этот интерфейс для создания экземпляра необходимых интерфейсов (например, ISCardFileAccess или ISCardVerify). При создании этих интерфейсов также будут созданы все соответствующие низкоуровневые COM-интерфейсы.
  2. Подключение или подключение к карта с помощью соответствующего метода ISCardManage.
  3. Выполнение необходимых операций с помощью соответствующего метода ISCardVerify (который может вызывать несколько низкоуровневых COM-интерфейсов и методов для завершения).
  4. Повторите для других операций.
  5. Отпустите по завершении.

Имя и идентификатор интерфейса COM (GUID) не должны меняться от тех, которые используются в коде или примере программы-оболочки. Однако GUID класса (то есть, где находится фактическая реализация интерфейса) должен быть изменен по сравнению с используемым. Это особенно важно при реализации программы-оболочки поставщика. Одним из примеров может быть использование нескольких оболочек поставщиков на определенном компьютере. Эти оболочки должны реализовывать одни и те же COM-интерфейсы, но всегда использовать разные стратегии реализации. Поэтому требуются различные классы (и идентификаторы классов).