次の方法で共有


IAlternativeName::InitializeFromOtherName メソッド (certenroll.h)

InitializeFromOtherName メソッドは、オブジェクト識別子 (OID) と関連する生データ (バイト配列) からオブジェクトを初期化します。 このメソッドは、抽象構文表記 1 (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

strRawData パラメーターに適用される Unicode エンコードの種類を識別する EncodingType 列挙値。

[in] strRawData

OID に関連付けられている名前を含む BSTR 変数。

[in] ToBeWrapped

strRawData パラメーターに含まれる入力文字列がエンコードされ、オクテット文字列 (バイト配列) として保存されるかどうかを識別するVARIANT_BOOL変数。

戻り値

関数が成功した場合、関数は S_OKを返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

リターン コード/値 Description
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
オブジェクトは既に初期化されています。

注釈

この関数を使用すると、OID と関連付けられた文字列値から IAlternativeName オブジェクトを初期化できます。 文字列は Unicode エンコード済みです。 ToBeWrapped パラメーターに true を指定した場合、文字列は Distinguished Encoding Rules (DER) を使用してエンコードされます。 OID を取得するには、 ObjectId プロパティを呼び出します。 エンコードされた文字列を取得するか、 ToBeWrapped が true の場合は、 RAWData プロパティを呼び出してエンコードされたバイト配列を取得することで、DER でエンコードされたバイト配列を取得できます。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー certenroll.h
[DLL] CertEnroll.dll

こちらもご覧ください

IAlternativeName