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 值。
返回代码/值 | 说明 |
---|---|
|
对象已初始化。 |
注解
通过调用 PropertyId 属性指定要初始化的属性。 可以调用 RawData 属性来检索编码的属性值。 调用 SetValueOnCertificate 方法以将属性值与证书相关联。
如果 InitializeDecode 方法失败,则不会初始化 ICertProperty 对象,并且不会保存输入属性值。 但是, PropertyId 属性保留指定的标识符。
提供 InitializeDecode 方法是为了使你能够初始化 在CERTENROLL_PROPERTYID 枚举中标识的自定义属性和不存在特定接口的属性。 该枚举中的每个支持值都包含有关数据类型的信息,通常是 CRYPT_INTEGER_BLOB,你必须提供给 InitializeDecode 方法。 可以使用 IBinaryConverter 接口将字节数组转换为字符串。
以下接口简化了最常见属性的创建:
- ICertPropertyArchived
- ICertPropertyArchivedKeyHash
- ICertPropertyAutoEnroll
- ICertPropertyBackedUp
- ICertPropertyDescription
- ICertPropertyEnrollment
- ICertPropertyFriendlyName
- ICertPropertyKeyProvInfo
- ICertPropertyRenewal
- ICertPropertyRequestOriginator
- ICertPropertySHA1Hash
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | certenroll.h |
DLL | CertEnroll.dll |