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

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

Если задан поставщик по умолчанию текущего пользователя, этот поставщик по умолчанию получается при любом вызове этого пользователя к CryptAcquireContext с указанием типа поставщика dwProvType , но не имени CSP.

Также доступна расширенная версия этой функции CryptSetProviderEx.

Примечание Типичные приложения не используют эту функцию. Он предназначен исключительно для административных приложений.
 

Синтаксис

BOOL CryptSetProviderA(
  [in] LPCSTR pszProvName,
  [in] DWORD  dwProvType
);

Параметры

[in] pszProvName

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

[in] dwProvType

Тип поставщика CSP, указанный в параметре pszProvName.

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

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

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

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

Ошибки также могут распространяться из внутренних вызовов RegCreateKeyEx и RegSetValueEx.

Комментарии

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

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

Примечание

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

Требования

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

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

CryptAcquireContext

Имена поставщиков служб шифрования

RegCreateKeyEx

RegSetValueEx

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