IOpcCertificateEnumerator::GetCurrent 方法 (msopc.h)
获取枚举器当前位置的 CERT_CONTEXT 结构。
语法
HRESULT GetCurrent(
[out, retval] const CERT_CONTEXT **certificate
);
参数
[out, retval] certificate
指向 CERT_CONTEXT 结构的指针。 如果方法成功,请调用 CertFreeCertificateContext 函数以释放 结构的内存。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码/值 | 说明 |
---|---|
|
方法成功。 |
|
partReference 参数为 NULL。 |
|
枚举器无效,因为基础集已更改。 |
|
枚举器无法从当前位置执行此操作。 |
|
目标为签名部件具有外部目标模式的关系;签名部分必须位于包内。 |
|
数字签名证书类型的关系具有外部目标模式。
有关此关系类型的详细信息,请参阅 OPC。 |
|
指示关系转换的使用和转换的选择条件的 Transform 元素不符合 OPC 中指定的架构。 |
|
包含证书且是数字签名证书类型关系目标的部件不存在。
有关此关系类型的详细信息,请参阅 OPC。 |
|
SignatureProperty 元素缺少所需的 Target 属性。 |
|
部件的内容类型不同于 OPC、 ECMA-376 第 2 部分) 中指定的预期内容类型 (,或者部件内容与部件的内容类型不匹配。 |
注解
如果 CERT_CONTEXT 结构表示的证书已损坏或不是 X.509 证书,则此方法将返回错误;此外,调用方使用的签名策略决定签名是否仍会进行验证。 返回此类错误后,对 MoveNext 或 MovePrevious 方法的调用将继续循环访问枚举器。
创建枚举器时,当前位置位于枚举器的第一个指针之前。 若要将当前位置设置为第一个指针,请在创建枚举器后调用 MoveNext 方法。
线程安全性
打包对象不是线程安全的。
有关详细信息,请参阅打包 API 的入门。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | msopc.h |
另请参阅
概述
引用