GetCspStatusFromOperations 方法为第一个受支持的算法创建 ICspStatus 对象,该算法与指定的签名、加密、哈希或密码作一致。
Syntax
HRESULT GetCspStatusFromOperations(
[in, optional] IObjectId *pAlgorithm,
[in] AlgorithmOperationFlags Operations,
[out] ICspStatus **ppValue
);
参数
[in, optional] pAlgorithm
指向表示算法 OID 的 IObjectId 接口的指针。 此参数是可选的,可以 NULL。
- 如果指定 OID 并将 Operations 参数设置为 XCN_NCRYPT_SIGNATURE_OPERATION 并将此标志与XCN_NCRYPT_EXACT_MATCH_OPERATION或XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION合并,则使用与 OID 匹配的第一个签名算法(如果有)。
- 如果指定 OID 但未将 Operations 参数设置为 XCN_NCRYPT_SIGNATURE_OPERATION,或者设置 XCN_NCRYPT_SIGNATURE_OPERATION 但不将其与XCN_NCRYPT_EXACT_MATCH_OPERATION或XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION合并,则使用可用于签名或加密的第一种算法。
- 如果未指定 OID,则使用 与 Operations 参数中指定的标志一致的第一个受支持的算法。
[in] Operations
AlgorithmOperationFlags 枚举值,用于标识要检索的算法的类型。 必须指定以下值之一:
- XCN_NCRYPT_CIPHER_OPERATION
- XCN_NCRYPT_HASH_OPERATION
- XCN_NCRYPT_SIGNATURE_OPERATION
- XCN_NCRYPT_SECRET_AGREEMENT_OPERATION
- XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
可以通过将上述标志之一与下列标志之一相结合来优化搜索特征:
- XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION
- XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION
- XCN_NCRYPT_EXACT_MATCH_OPERATION
如果设置XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION或XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION首选项标志,则不能同时指定以下任一项:
- XCN_NCRYPT_CIPHER_OPERATION
- XCN_NCRYPT_HASH_OPERATION
[out] ppValue
接收指向 ICspStatus 接口的指针的变量的地址。
返回值
如果函数成功,该函数将返回 S_OK。
如果函数失败,它将返回指示错误的 HRESULT 值。 可能的值包括但不限于下表中的值。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
| 返回代码/值 | Description |
|---|---|
|
找不到 ICspStatus 对象。 |
|
ICspInformation 对象尚未初始化。 |
注解
ICspStatus 对象包含有关加密提供程序的状态信息。 针对提供程序支持的特定算法初始化每个对象。 如果未在 pAlgorithm 参数中指定算法,则选择与允许的作一致的第一个受支持算法来创建 ICspStatus 对象。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | certenroll.h |
| DLL | CertEnroll.dll |