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


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

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

Синтаксис

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

Параметры

[in] pszProvName

Имя нового поставщика служб CSP по умолчанию. Это должен быть поставщик служб 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 [только классические приложения]
целевая платформа Виндоус
заголовка wincrypt.h
библиотеки Advapi32.lib
DLL Advapi32.dll

См. также

CryptAcquireContext

CryptSetProvider

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