IAlternativeName::InitializeFromOtherName 方法 (certenroll.h)

InitializeFromOtherName 方法从对象标识符 (OID) 初始化对象,并将关联的原始数据 (字节数组) 。 提供此方法以支持 Abstract Syntax Notation One (ASN.1) AlternativeNames 扩展声明中的 otherName 字段。


----------------------------------------------------------------------
-- AlternativeNames 
-- XCN_OID_SUBJECT_ALT_NAME2 (2.5.29.17)
----------------------------------------------------------------------

AltNames ::= SEQUENCE --#public-- OF GeneralName
GeneralNames ::= AltNames

GeneralName ::= CHOICE 
{
   otherName               [0] IMPLICIT OtherName,
   rfc822Name              [1] IMPLICIT IA5STRING,
   dNSName                 [2] IMPLICIT IA5STRING,
   x400Address             [3] IMPLICIT SeqOfAny,       -- Not supported
   directoryName           [4] EXPLICIT ANY,    
   ediPartyName            [5] IMPLICIT SeqOfAny,
   uniformResourceLocator  [6] IMPLICIT IA5STRING,
   iPAddress               [7] IMPLICIT OCTETSTRING,
   registeredID            [8] IMPLICIT EncodedObjectID -- Not supported
}

OtherName ::= SEQUENCE 
{
   type                    EncodedObjectID,
   value                   [0] EXPLICIT NOCOPYANY 
}

语法

HRESULT InitializeFromOtherName(
  [in] IObjectId    *pObjectId,
  [in] EncodingType Encoding,
  [in] BSTR         strRawData,
  [in] VARIANT_BOOL ToBeWrapped
);

参数

[in] pObjectId

指向表示 OID 的 IObjectId 接口的指针。

[in] Encoding

一个 EncodingType 枚举值,该值标识应用于 strRawData 参数的 Unicode 编码的类型。

[in] strRawData

包含与 OID 关联的名称的 BSTR 变量。

[in] ToBeWrapped

一个VARIANT_BOOL变量,用于标识是否将 strRawData 参数中包含的输入字符串编码并另存为字节数组 (八进制字符串) 。

返回值

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

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

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

注解

可以使用此函数从 OID 和关联的字符串值初始化 IAlternativeName 对象。 字符串经过 Unicode 编码。 如果为 ToBeWrapped 参数指定 true,则会使用 可辨别编码规则 ( DER) 对字符串进行编码。 可以通过调用 ObjectId 属性来检索 OID。 可以检索编码字符串,如果 ToBeWrapped 为 true,则通过调用 RawData 属性来检索已编码的字节数组来检索 DER 编码的字节数组。

要求

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

另请参阅

IAlternativeName