Поставщик службы-оболочки поставщика
Цель программы-оболочки поставщика — инкапсулировать и использовать низкоуровневые COM-интерфейсы (предоставляемые производителями интеллектуальных карта) для конкретной интеллектуальной карта. Эти интерфейсы не предоставляются корпорацией Майкрософт.
Как описано в части 6 Спецификации взаимодействия для ICCs и персональных компьютерных систем (см. спецификации в ), https://pcscworkgroup.comфункциональность, предоставляемые этой оболочкой, проще использовать, чем функции четырех отдельных поставщиков услуг. Функциональные возможности оболочки можно разделить на четыре main области:
- Смарт-карта службы проверки подлинности, такие как получение запроса и проверка подлинности карта.
- Смарт-карта доступ к файлам или службы файловой системы, такие как открытие, закрытие, чтение и запись.
- Интеллектуальное управление карта, например подключение и отключение.
- Смарт-карта службы проверки, такие как проверка и изменение кода.
Примечание
Эта спецификация может быть недоступна в некоторых языках и странах или регионах.
Функциональные возможности зависят от типа используемых карта (которые поддерживаются карта, протоколов и т. д.) и будут отличаться для каждой карта.
Пример оболочки Microsoft SCardCOM использует библиотеку ATL COM для реализации простой оболочки и создания шаблона для других оболочек. Он реализует следующие интерфейсы.
Интерфейс или объект | Описание |
---|---|
ISCardAuth |
Службы проверки подлинности. |
ISCardFileAccess |
Службы файловой системы. |
ISCardManage |
Службы управления. |
ISCardVerify |
Службы проверки. |
Примечание
Пример SCardCOM приведен только в качестве примера реализации интерфейсов-оболочек. Чтобы предотвратить конфликт имен DLL с другими поставщиками, не следует использовать SCardCOM.dll в качестве имен всех создаваемых библиотек DLL.
Ниже приведено типичное использование оболочки поставщика. В этом примере используется интерфейс ISCardManage для создания экземпляров интерфейсов, которые будут упакованы в поставщик услуг, и интерфейс ISCardVerify для проверки их работы.
Создание поставщика службы-оболочки
- Создайте экземпляр интерфейса ISCardManage . Используйте этот интерфейс для создания экземпляра необходимых интерфейсов (например, ISCardFileAccess или ISCardVerify). При создании этих интерфейсов также будут созданы все соответствующие низкоуровневые COM-интерфейсы.
- Подключение или подключение к карта с помощью соответствующего метода ISCardManage.
- Выполнение необходимых операций с помощью соответствующего метода ISCardVerify (который может вызывать несколько низкоуровневых COM-интерфейсов и методов для завершения).
- Повторите для других операций.
- Отпустите по завершении.
Имя и идентификатор интерфейса COM (GUID) не должны меняться от тех, которые используются в коде или примере программы-оболочки. Однако GUID класса (то есть, где находится фактическая реализация интерфейса) должен быть изменен по сравнению с используемым. Это особенно важно при реализации программы-оболочки поставщика. Одним из примеров может быть использование нескольких оболочек поставщиков на определенном компьютере. Эти оболочки должны реализовывать одни и те же COM-интерфейсы, но всегда использовать разные стратегии реализации. Поэтому требуются различные классы (и идентификаторы классов).