CryptSetProviderExA 函数 (wincrypt.h)
重要 此 API 已弃用。 新的和现有的软件应开始使用 加密下一代 API。 Microsoft 可能会在将来的版本中删除此 API。
注意 典型的应用程序不使用此函数。 它仅供管理应用程序使用。
语法
BOOL CryptSetProviderExA(
[in] LPCSTR pszProvName,
[in] DWORD dwProvType,
[in] DWORD *pdwReserved,
[in] DWORD dwFlags
);
参数
[in] pszProvName
新默认 CSP 的名称。 这必须是计算机上安装的 CSP。 有关可用加密提供程序的列表,请参阅 加密提供程序名称。
[in] dwProvType
pszProvName 指定的 CSP 的提供程序类型。
[in] pdwReserved
此参数保留供将来使用,必须为 NULL。
[in] dwFlags
定义了以下标志值。
值 | 含义 |
---|---|
|
可以与 CRYPT_MACHINE_DEFAULT 或CRYPT_USER_DEFAULT一起使用以删除默认值。 |
|
导致设置指定类型的用户上下文默认 CSP。 |
|
导致设置指定类型的计算机默认 CSP。 |
返回值
如果函数成功,则返回值为非零 (TRUE) 。
如果函数失败,则返回值为零, (FALSE) 。 有关扩展的错误信息,请调用 GetLastError。 可能的错误代码包括下表中显示的错误代码。
返回代码 | 说明 |
---|---|
|
其中一个参数包含无效的值。 这通常是无效的指针。 |
|
操作系统内存不足。 |
注解
大多数应用程序在调用 CryptAcquireContext 函数时不指定 CSP 名称;但是,应用程序可以指定 CSP 名称,从而选择具有适当安全级别的 CSP。 由于调用 CryptSetProviderEx 确定从该时间点开始由所有应用程序使用的指定类型的 CSP,因此在未经用户同意的情况下,不得调用 CryptSetProviderEx 。
注意
wincrypt.h 标头将 CryptSetProviderEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Advapi32.lib |
DLL | Advapi32.dll |