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


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

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

Синтаксис

BOOL CryptSetProviderExA(
  [in] LPCSTR pszProvName,
  [in] DWORD  dwProvType,
  [in] DWORD  *pdwReserved,
  [in] DWORD  dwFlags
);

Параметры

[in] pszProvName

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

[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

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