ICspInformation::GetCspStatusFromOperations 方法 (certenroll.h)
GetCspStatusFromOperations 方法为第一个受支持的算法创建 ICspStatus 对象,该算法与指定的签名、加密、哈希或密码操作一致。
语法
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 值。
返回代码/值 | 说明 |
---|---|
|
找不到 ICspStatus 对象。 |
|
ICspInformation 对象尚未初始化。 |
注解
ICspStatus 对象包含有关加密提供程序的状态信息。 每个 对象都针对提供程序支持的特定算法进行初始化。 如果未在 pAlgorithm 参数中指定算法,则会选择与允许的操作一致的第一个受支持的算法来创建 ICspStatus 对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | certenroll.h |
DLL | CertEnroll.dll |