Функция CryptSetProviderExW (wincrypt.h)

Важно Этот API не рекомендуется использовать. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках.
 
Функция CryptSetProviderEx указывает поставщика служб шифрования по умолчанию (CSP) указанного типа поставщика для локального компьютера или текущего пользователя.
Примечание Типичные приложения не используют эту функцию. Он предназначен для использования исключительно административными приложениями.
 

Синтаксис

BOOL CryptSetProviderExW(
  [in] LPCWSTR pszProvName,
  [in] DWORD   dwProvType,
  [in] DWORD   *pdwReserved,
  [in] DWORD   dwFlags
);

Параметры

[in] pszProvName

Имя нового поставщика служб CSP по умолчанию. Это должен быть поставщик служб конфигурации, установленный на компьютере. Список доступных поставщиков шифрования см. в разделе Имена поставщиков шифрования.

[in] dwProvType

Тип поставщика поставщика CSP, заданного параметром pszProvName.

[in] pdwReserved

Этот параметр зарезервирован для использования в будущем и должен иметь значение NULL.

[in] dwFlags

Определены следующие значения флагов.

Значение Значение
CRYPT_DELETE_DEFAULT
0x00000004
Можно использовать в сочетании с CRYPT_MACHINE_DEFAULT или CRYPT_USER_DEFAULT для удаления значения по умолчанию.
CRYPT_USER_DEFAULT
0x00000002
Вызывает настройку поставщика служб CSP по умолчанию для контекста пользователя указанного типа.
CRYPT_MACHINE_DEFAULT
0x00000001
Вызывает настройку CSP компьютера по умолчанию указанного типа.

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

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

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

Код возврата Описание
ERROR_INVALID_PARAMETER
Один из параметров содержит недопустимое значение. Чаще всего это недопустимый указатель.
ERROR_NOT_ENOUGH_MEMORY
В операционной системе не хватает памяти.

Комментарии

Большинство приложений не указывают имя CSP при вызове функции CryptAcquireContext ; однако приложение может указать имя CSP и тем самым выбрать CSP с соответствующим уровнем безопасности. Так как вызовы CryptSetProviderEx определяют CSP указанного типа, используемого всеми приложениями с этого момента, CryptSetProviderEx никогда не должен вызываться без согласия пользователя.

Примечание

Заголовок wincrypt.h определяет CryptSetProviderEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header wincrypt.h
Библиотека Advapi32.lib
DLL Advapi32.dll

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

CryptAcquireContext

CryptSetProvider

Функции поставщика услуг