IOpcSignatureReferenceSet::Create メソッド (msopc.h)

署名する XML 要素への参照を表す IOpcSignatureReference インターフェイス ポインターを作成します。

構文

HRESULT Create(
  [in]          IUri                        *referenceUri,
  [in]          LPCWSTR                     referenceId,
  [in]          LPCWSTR                     type,
  [in]          LPCWSTR                     digestMethod,
  [in]          OPC_CANONICALIZATION_METHOD transformMethod,
  [out, retval] IOpcSignatureReference      **reference
);

パラメーター

[in] referenceUri

参照される XML 要素の URI。

このパラメーターの値を、参照される要素の Id 属性値 "#elementIdValue>" の後に続く "#<" を表す URI に設定します。

例については、「解説」セクションを参照してください。

[in] referenceId

シグネチャ マークアップ内の参照を表す Reference 要素の Id 属性。 Id 属性を省略するには、このパラメーター値を NULL に設定します

[in] type

シグネチャ マークアップ内の参照を表す Reference 要素の Type 属性。 Type 属性を省略するには、このパラメーター値を NULL に設定します

[in] digestMethod

参照する XML マークアップに使用するダイジェスト メソッド。 既定のダイジェスト メソッドを使用するには、このパラメーター値を NULL に設定します。

大事なIOpcDigitalSignatureManager::Sign が呼び出される前に、IOpcSigningOptions::SetDefaultDigestMethod メソッドを呼び出して、既定のダイジェスト メソッドを設定する必要があります。
 

[in] transformMethod

参照する XML マークアップに使用する正規化メソッド。

[out, retval] reference

署名する XML 要素への参照を表す新しい IOpcSignatureReference インターフェイス ポインター。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード/値 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
transformMethod パラメーターで渡される値は、有効なOPC_CANONICALIZATION_METHOD列挙値ではありません。
E_POINTER
referenceUri パラメーターは NULL です
OPC_E_DS_PACKAGE_REFERENCE_URI_RESERVED
0x80510025
パッケージ Object に対する署名の Reference 要素の予約済み URI 属性値は、カスタム Object 要素への参照URI 属性値として使用されています。

注釈

このメソッドは、署名の生成時に署名された XML 要素への参照を作成します。 参照される要素には、アプリケーション固有の Object 要素、またはアプリケーション固有の Object の子を指定できます。

署名用の XML 要素を参照するには、次の表に示すように、 referenceUri パラメーター値を"#" を表す URI に設定し、その後に参照される要素の Id 属性値を設定します。

referenceUri 文字列としての値 Referenced 要素 要素の説明
"#idMyCustomObject" "<Object Id="idMyCustomObject">...</Object>" アプリケーション固有の Object 要素。
"#idMyElement" "<Object><MyElement Id="idMyElement">...</MyElement>...</Object>" アプリケーション固有の Object の子要素。
 

このメソッドは、署名するパッケージ固有の Object 要素への参照を作成しません。この参照は、署名の生成時に自動的に作成されます。

IOpcSignatureReference インターフェイス ポインターが作成され、セットに追加されると、それが表す参照はパッケージの保存時に保存されます。

スレッド セーフ

パッケージ 化オブジェクトはスレッド セーフではありません。

詳細については、Packaging API を使用したはじめにに関するページを参照してください。

要件

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

こちらもご覧ください

コア パッケージ インターフェイス

Packaging API を使用したはじめに

IOpcDigitalSignatureManager

IOpcSignatureReferenceSet

IOpcSigningOptions

OPC_CANONICALIZATION_METHOD

概要

パッケージ化 API プログラミング ガイド

パッケージ化 API リファレンス

API サンプルのパッケージ化

デジタル署名インターフェイスのパッケージ化

インターフェイスのパッケージ化

参照