InitializeFromType 方法从默认加密提供程序初始化对象。
Syntax
HRESULT InitializeFromType(
[in] X509ProviderType Type,
[in, optional] IObjectId *pAlgorithm,
[in] VARIANT_BOOL MachineContext
);
参数
[in] Type
定义提供程序类型的 X509ProviderType 枚举值。
- 如果指定XCN_PROV_NONE并将 pAlgorithm 参数设置为 NULL 以外的值,将使用默认加密 API:下一代(CNG)提供程序。
- 如果指定除XCN_PROV_NONE以外的值并将 pAlgorithm 参数设置为 NULL,则使用默认的旧加密服务提供程序(CSP)。
[in, optional] pAlgorithm
指向表示算法 OID 的 IObjectId 接口的指针。 此参数是可选的,可以 NULL。 有关详细信息,请参阅 Type 参数。
[in] MachineContext
一个VARIANT_BOOL变量,指示是使用计算机还是用户上下文来确定指定提供程序类型的默认提供程序。 为计算机指定 VARIANT_TRUE ,并为用户指定 VARIANT_FALSE 。
返回值
如果函数成功,该函数将返回 S_OK。
如果函数失败,它将返回指示错误的 HRESULT 值。 可能的值包括但不限于下表中的值。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
| 返回代码/值 | Description |
|---|---|
|
对象已初始化。 |
注解
InitializeFromType 方法验证指定的类型并将其保存在 Type 属性中,检索默认提供程序,并在 ICspInformation 对象上设置以下属性值:
- CspAlgorithms
- HasHardwareRandomNumberGenerator
- IsHardwareDevice
- IsRemovable
- IsSmartCard
- IsSoftwareDevice
- KeySpec
- LegacyCsp
- MaxKeyContainerNameLength
- 名称
- Valid
- 版本
该方法将可用算法添加到 CspAlgorithms 属性返回的 ICspAlgorithms 集合中。 调用 InitializeFromName 方法以从 CSP 名称初始化对象。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | certenroll.h |
| DLL | CertEnroll.dll |