Поделиться через


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

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

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

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

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

Синтаксис

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

Параметры

[in] pszProvName

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

[in] dwProvType

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

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

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

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

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

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

Замечания

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

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка wincrypt.h
библиотеки Advapi32.lib
DLL Advapi32.dll

См. также

CryptAcquireContext

имена поставщиков шифрования

RegCreateKeyEx

RegSetValueEx

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