ICertProperty::InitializeDecode 方法 (certenroll.h)

InitializeDecode 方法从包含属性值的字节数组初始化 对象。 字节数组由 Unicode 编码的字符串表示。

语法

HRESULT InitializeDecode(
  [in] EncodingType Encoding,
  [in] BSTR         strEncodedData
);

参数

[in] Encoding

一个 EncodingType 枚举值,该值指定应用于输入字符串的 Unicode 编码的类型。

[in] strEncodedData

包含 可辨别编码规则 (DER) 编码属性值的 BSTR 变量。

返回值

如果函数成功,该函数将返回 S_OK

如果函数失败,它将返回一个 指示错误的 HRESULT 值。 可能的值包括(但并不限于)下表中的项。 有关常见错误代码的列表,请参阅 通用 HRESULT 值

返回代码/值 说明
HRESULT_FROM_WIN32 (ERROR_ALREADY_INITIALIZED)
对象已初始化。

注解

通过调用 PropertyId 属性指定要初始化的属性。 可以调用 RawData 属性来检索编码的属性值。 调用 SetValueOnCertificate 方法以将属性值与证书相关联。

如果 InitializeDecode 方法失败,则不会初始化 ICertProperty 对象,并且不会保存输入属性值。 但是, PropertyId 属性保留指定的标识符。

提供 InitializeDecode 方法是为了使你能够初始化 在CERTENROLL_PROPERTYID 枚举中标识的自定义属性和不存在特定接口的属性。 该枚举中的每个支持值都包含有关数据类型的信息,通常是 CRYPT_INTEGER_BLOB,你必须提供给 InitializeDecode 方法。 可以使用 IBinaryConverter 接口将字节数组转换为字符串。

以下接口简化了最常见属性的创建:

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 certenroll.h
DLL CertEnroll.dll

另请参阅

ICertProperties

ICertProperty