Установка файла каталога с помощью CryptCATAdminAddCatalog
Программа установки может использовать CryptCATAdminAddCatalog и другие функции шифрования CryptCATAdminXxx для программной установки файла каталога в системном компоненте и базе данных драйверов.
Программа установки должна использовать пакет средств разработки программного обеспечения (SDK) Microsoft Windows для Windows 7 и платформа .NET Framework 4.0 следующим образом:
Исходные файлы программы установки должны содержать следующие файлы заголовков (H):
- Mscat.h, который определяет прототипы и структуры для различных функций CryptCATAdminXxx .
- Softpub.h, который определяет различные структуры данных и идентификаторы GUID, используемые функциями CryptCATAdminXxx .
Программа установки должна связаться с Wintrust.lib.
Чтобы использовать эти функции шифрования CryptCATAdminXxx , программа установки выполняет следующие действия:
Вызывает CryptCATAdminAcquireContext , чтобы получить дескриптор контекста администратора каталога. Приложение идентифицирует подсистему, задав входной параметр pgSubsystem указатель на DRIVER_ACTION_VERIFY GUID. Этот GUID определен в Файле Softpub.h.
Вызывает CryptCATAdminAddCatalog для добавления файла каталога в системный компонент и базу данных драйверов. Программа установки предоставляет дескриптор контексту администратора каталога, полученному на шаге 1, указатель на полный путь к файлу каталога и указатель на имя файла каталога, используемого функцией для установки копии файла каталога в базе данных. Функция возвращает дескриптор контексту сведений о каталоге для файла каталога, добавленного в базу данных.
Вызывает CryptCATAdminReleaseCatalogContext , чтобы освободить дескриптор контекста сведений каталога для файла каталога. Программа установки предоставляет дескриптор контексту администратора каталога, полученному на шаге 1, а дескриптор — контексту сведений о каталоге, возвращенном на шаге 2.
Вызывает CryptCATAdminReleaseContext , чтобы освободить дескриптор в контексте администратора каталога. Приложение предоставляет дескриптор контексту администратора каталога, который был получен на шаге 1.