IOpcRelationshipSet::CreateRelationship メソッド (msopc.h)

指定したリレーションシップを表すリレーションシップ オブジェクトを作成し、オブジェクトの IOpcRelationship インターフェイスへのポインターをセットに追加します。

構文

HRESULT CreateRelationship(
  [in]          LPCWSTR             relationshipIdentifier,
  [in]          LPCWSTR             relationshipType,
  [in]          IUri                *targetUri,
  [in]          OPC_URI_TARGET_MODE targetMode,
  [out, retval] IOpcRelationship    **relationship
);

パラメーター

[in] relationshipIdentifier

リレーションシップ オブジェクトとして表されるリレーションシップの一意識別子。 ランダムに生成された識別子を使用するには、このパラメーターに NULL を 渡します。

有効な識別子は xsd:ID の制限に準拠しています。これは、「W3C 推奨事項のセクション 3.3.8 ID,XML スキーマ パート 2: Datatypes Second Edition (http://www.w3.org/TR/xmlschema-2/#ID)」に記載されています。

[in] relationshipType

リレーションシップ オブジェクトとして表されるリレーションシップのロールを定義するリレーションシップの種類。

[in] targetUri

リレーションシップ オブジェクトとして表されるリレーションシップのターゲットへの URI。

targetMode の値がOPC_URI_TARGET_MODE_INTERNALの場合、target は部分であり、URI はリレーションシップのソースを基準とする必要があります。

targetMode の値がOPC_URI_TARGET_MODE_EXTERNALの場合、target はパッケージの外部のリソースであり、URI は絶対またはパッケージの場所に対する相対値である可能性があります。

リレーションシップのターゲットの URI の詳細については、 OPC を参照してください。

[in] targetMode

リレーションシップ オブジェクトとして表されるリレーションシップのターゲットがパッケージの内部か外部かを示す 値。

[out, retval] relationship

リレーションシップを表すリレーションシップ オブジェクトの IOpcRelationship インターフェイスへのポインター。

新しいオブジェクトへのポインターが不要な場合、このパラメーターは NULL にすることができます。

戻り値

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

リターン コード/値 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
targetMode パラメーターで渡される値は、有効なOPC_URI_TARGET_MODE列挙値ではありません。
E_POINTER
relationshipType パラメーターと targetUri パラメーターの少なくとも 1 つが NULL です
OPC_E_DUPLICATE_RELATIONSHIP
0x80510013
同じ識別子を持つリレーションシップが、現在のパッケージに既に存在します。
OPC_E_INVALID_RELATIONSHIP_ID
0x80510010
リレーションシップの Id 属性は、 OPC で指定された規則に準拠していません。
OPC_E_INVALID_RELATIONSHIP_TARGET
0x80510012
targetUri の URI は絶対であり、targetMode の値はOPC_URI_TARGET_MODE_INTERNAL。 このターゲット モードが指定されている場合、ターゲットの URI は相対 URI である必要があります。
OPC_E_INVALID_RELATIONSHIP_TARGET
0x80510012
リレーションシップの Target 属性は、 OPC で指定された規則に準拠していません。
OPC_E_INVALID_RELATIONSHIP_TYPE
0x80510011
リレーションシップの Type 属性は、 OPC で指定された規則に準拠していません。
パッケージの使用エラー
パッケージ消費エラー グループHRESULT エラー コード。
パーツ URI エラー
パーツ URI エラー グループからの HRESULT エラー コード。

注釈

リレーションシップ オブジェクトが作成され、そのオブジェクトへのポインターがセットに追加されると、そのオブジェクトが表すリレーションシップはパッケージの保存時に保存されます。

IOpcRelationship インターフェイスは、リレーションシップ プロパティへのアクセスを提供します。 これらのプロパティの詳細については、「リレーションシップの 概要 」と 「IOpcRelationship」を参照してください。

スレッド セーフ

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

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

要件

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

こちらもご覧ください

ECMA-376 OpenXML

外部リソース

Packaging API を使用したはじめに

IOpcRelationshipSet

OPC_URI_TARGET_MODE

Open Packaging Conventions Fundamentals

概要

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

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

パッケージ化エラー

リファレンス

リレーションシップの概要

W3C 推奨事項、XML スキーマ パート 2: Datatypes Second Edition