ICertProperty::InitializeDecode メソッド (certenroll.h)

InitializeDecode メソッドは、プロパティ値を含むバイト配列からオブジェクトを初期化します。 バイト配列は、Unicode でエンコードされた文字列で表されます。

構文

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

パラメーター

[in] Encoding

入力文字列に適用される Unicode エンコードの種類を指定する EncodingType 列挙値。

[in] strEncodedData

Distinguished Encoding Rules (DER) でエンコードされたプロパティ値を含む BSTR 変数。

戻り値

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

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

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

注釈

PropertyId プロパティを呼び出して、初期化するプロパティを指定します。 RawData プロパティを呼び出して、エンコードされたプロパティ値を取得できます。 SetValueOnCertificate メソッドを呼び出して、プロパティ値を証明書に関連付けます。

InitializeDecode メソッドが失敗した場合、ICertProperty オブジェクトは初期化されず、入力プロパティの値は保存されません。 ただし、 PropertyId プロパティは、指定された識別子を保持します。

InitializeDecode メソッドを使用すると、特定のインターフェイスが存在しないCERTENROLL_PROPERTYID列挙で識別されるカスタム プロパティとプロパティを初期化できます。 その列挙体でサポートされている各値には、InitializeDecode メソッドに指定する必要があるデータの種類 (通常はCRYPT_INTEGER_BLOB) に関する情報が含まれています。 IBinaryConverter インターフェイスを使用して、バイト配列を文字列に変換できます。

次のインターフェイスを使用すると、最も一般的なプロパティの作成が簡単になります。

要件

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

こちらもご覧ください

ICertProperties

ICertProperty