Функция CryptInstallDefaultContext (wincrypt.h)
Синтаксис
BOOL CryptInstallDefaultContext(
[in] HCRYPTPROV hCryptProv,
[in] DWORD dwDefaultType,
[in] const void *pvDefaultPara,
[in] DWORD dwFlags,
[in] void *pvReserved,
[out] HCRYPTDEFAULTCONTEXT *phDefaultContext
);
Параметры
[in] hCryptProv
Дескриптор поставщика служб шифрования, используемый в качестве контекста по умолчанию. Этот дескриптор получен с помощью функции CryptAcquireContext .
[in] dwDefaultType
Указывает тип устанавливаемого контекста. Это должно быть одно из следующих значений.
Значение | Значение |
---|---|
|
Устанавливает поставщик по умолчанию, используемый для проверки одного типа подписи сертификата.
Параметр pvDefaultPara — это адрес строки ANSI, завершаемой null, которая содержит идентификатор объекта алгоритма подписи сертификата для установки поставщика, например для szOID_OIWSEC_md5RSA. Если параметр pvDefaultPara имеет значение NULL, для проверки всех подписей сертификатов используется указанный поставщик. Параметр pvDefaultPara не может иметь значение NULL , если установлен флаг CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG . |
|
Устанавливает поставщик по умолчанию, используемый для проверки нескольких типов подписей сертификатов.
Параметр pvDefaultPara — это адрес структуры CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA , содержащей массив идентификаторов объектов, определяющих алгоритмы подписи сертификата для установки указанного поставщика. |
[in] pvDefaultPara
Указывает объект или объекты для установки поставщика контекста по умолчанию. Формат этого параметра зависит от содержимого параметра dwDefaultType .
[in] dwFlags
Набор флагов, которые изменяют поведение этой функции. Это может быть ноль или сочетание одного или нескольких из следующих значений.
Значение | Значение |
---|---|
|
Дескриптор поставщика, указанный параметром hCryptProv , освобождается автоматически по завершении процесса или потока. Если этот флаг не указан, вызывающий объект отвечает за освобождение дескриптора поставщика с помощью функции CryptReleaseContext , когда дескриптор больше не нужен. Дескриптор поставщика не освобождается, если функция CryptUninstallDefaultContext вызывается до завершения процесса или потока. |
|
Поставщик применяется ко всем потокам в процессе. Если этот флаг не указан, поставщик применяется только к вызывающей цепочке. Параметр pvDefaultPara не может иметь значение NULL , если установлен этот флаг. |
[in] pvReserved
Этот параметр зарезервирован для использования в будущем.
[out] phDefaultContext
Адрес переменной HCRYPTDEFAULTCONTEXT , которая получает дескриптор контекста по умолчанию. Этот дескриптор передается функции CryptUninstallDefaultContext для удаления поставщика контекста по умолчанию.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение не равно нулю (TRUE). Если функция завершается ошибкой, возвращаемое значение равно нулю (FALSE). Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Комментарии
Установленные поставщики контекста по умолчанию упорядочены стеком, поэтому при поиске поставщика контекста по умолчанию система начинается с последнего установленного поставщика. Поиск в списке поставщиков по потоку выполняется перед списком поставщиков по каждому процессу. После обнаружения совпадения система не продолжает искать другие совпадения.
Установленный дескриптор поставщика должен оставаться доступным для использования до вызова CryptUninstallDefaultContext или завершения потока или процесса .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |