Функция CryptCATAdminAcquireContext2 (mscat.h)

Функция CryptCATAdminAcquireContext2 получает дескриптор контекста администратора каталога для заданного хэш-алгоритма и хэш-политики.

Этот дескриптор можно использовать в последующих вызовах следующих функций:

У этой функции нет связанной библиотеки импорта. Для динамического связывания с Wintrust.dll необходимо использовать функции LoadLibrary и GetProcAddress .

Синтаксис

BOOL CryptCATAdminAcquireContext2(
  [out]          HCATADMIN               *phCatAdmin,
  [in, optional] const GUID              *pgSubsystem,
  [in, optional] PCWSTR                  pwszHashAlgorithm,
  [in, optional] PCCERT_STRONG_SIGN_PARA pStrongHashPolicy,
                 DWORD                   dwFlags
);

Параметры

[out] phCatAdmin

Указатель на дескриптор контекста администратора каталога, назначенный этой функцией. Завершив использование дескриптора, закройте его, вызвав функцию CryptCATAdminReleaseContext .

[in, optional] pgSubsystem

Указатель на GUID , идентифицирующий подсистему. DRIVER_ACTION_VERIFY представляет подсистему для компонентов операционной системы и сторонних драйверов. Это подсистема, используемая в большинстве реализаций.

[in, optional] pwszHashAlgorithm

Необязательная строка Юникода со значением NULL, указывающая имя хэш-алгоритма, используемого при вычислении и проверке хэшей. Это значение может иметь значение NULL. Если значение равно NULL, можно выбрать алгоритм хэширования по умолчанию в зависимости от значения, заданного для параметра pStrongHashPolicy . Алгоритм по умолчанию в Windows 8 — SHA1. Значение по умолчанию может измениться в будущих версиях Windows. Дополнительные сведения см. в подразделе "Примечания".

[in, optional] pStrongHashPolicy

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

dwFlags

Зарезервировано. Это значение должно быть равно нулю.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение не равно нулю (TRUE).

Если функция завершается ошибкой, возвращаемое значение равно нулю (FALSE). Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.

В следующей таблице перечислены коды ошибок, наиболее часто возвращаемые функцией GetLastError .

Код возврата Описание
ERROR_INVALID_PARAMETER
Параметр phCatAdmin не может иметь значение NULL.

Параметр dwFlags должен быть равен нулю (0).

ERROR_NOT_ENOUGH_MEMORY
Недостаточно памяти для создания нового объекта администратора каталога.
NTE_BAD_ALGID
Не удается найти хэш-алгоритм, заданный параметром pwszHashAlgorithm .

Комментарии

Эта функция позволяет выбрать или выбрать хэш-алгоритм, который будет использоваться в функциях, для которых требуется контекст администратора каталога. Хотя можно задать имя алгоритма хэширования, рекомендуется разрешить функции определять алгоритм. Это защищает приложение от жесткого программирования алгоритмов, которые могут стать недоверенными в будущем.

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header mscat.h
Библиотека Wintrust.lib
DLL Wintrust.dll

См. также раздел

CryptCATAdminAddCatalog

CryptCATAdminReleaseContext

CryptCATAdminRemoveCatalog