IX500DistinguishedName::D ecode 方法 (certenroll.h)

Decode 方法从 Unicode 编码的可分辨名称初始化 对象。

语法

HRESULT Decode(
  [in] BSTR          strEncodedName,
  [in] EncodingType  Encoding,
  [in] X500NameFlags NameFlags
);

参数

[in] strEncodedName

包含编码名称的 BSTR 变量。

[in] Encoding

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

[in] NameFlags

一个 X500NameFlags 枚举值,该值指定解码字符串的格式。

注意 将自动设置以下标志:
  • Certenroll.h 中指定的默认值为 XCN_CERT_NAME_STR_NONE
  • 如果未指定XCN_CERT_NAME_STR_FORWARD_FLAG,则会自动应用XCN_CERT_NAME_STR_REVERSE_FLAG。
  • 如果未指定XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG,则会自动应用XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG。
  • 无论指定任何其他标志,都会自动设置XCN_CERT_NAME_STR_ENABLE_PUNYCODE_FLAG。
 

返回值

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

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

返回代码/值 说明
E_OUTOFMEMORY
无法为解码的值分配内存。
E_POINTER
strEncodedName 参数不能为 NULL
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
无法解码该名称。

注解

此方法在内部调用 CryptoAPI CertNameToStr 函数。 调用 Name 属性以检索以 null 结尾的字符串的名称。 调用 EncodedName 属性以检索包含编码名称的字符串。

要求

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

另请参阅

IX500DistinguishedName