Win32 API 日本語リファレンス
ホームStorage.Packaging.Opc › IOpcPartUri

IOpcPartUri

COM
IID7d3babe7-88b2-46ba-85cb-4203cb016c87継承元IOpcUri自前メソッド開始 vtbl31

公式ドキュメント

パートのパート名を表します。

解説(Remarks)

以前のバージョンの Windows でのサポート

このインターフェイスの動作とパフォーマンスは、サポートされているすべての Windows バージョンで同じです。詳細については、Getting Started with the Packaging API および Platform Update for Windows Vista を参照してください。

スレッドセーフティ

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

詳細については、Getting Started with the Packaging API を参照してください。

メソッド 3

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 31 HRESULT ComparePartUri(IOpcPartUri* partUri, INT* comparisonResult)

現在のパート URI オブジェクトが表す URI と、指定されたパート URI オブジェクトが表す URI が等価かどうかを示す整数を返します。

partUriIOpcPartUri*in現在のパート URI オブジェクトと比較するパート URI オブジェクトの IOpcPartUri インターフェイスへのポインター。
comparisonResultINT*out

2 つのパート URI オブジェクトが等価かどうかを示す整数を受け取ります。

意味
<0
現在のパート URI オブジェクトは、partUri で渡された入力パート URI オブジェクトより小さいことを示します。
0
現在のパート URI オブジェクトは、partUri で渡された入力パート URI オブジェクトと等価であることを示します。
>0
現在のパート URI オブジェクトは、partUri で渡された入力パート URI オブジェクトより大きいことを示します。

戻り値

このメソッドは HRESULT を返します。使用される値には次の表の値が含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
partUri および comparisonResult パラメーターの少なくとも 1 つが NULL です。

解説(Remarks)

以前のバージョンの Windows でのサポート

このメソッドの動作とパフォーマンスは、サポートされているすべての Windows バージョンで同じです。詳細については、Getting Started with the Packaging API および Platform Update for Windows Vista を参照してください。

スレッドセーフティ

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

詳細については、Getting Started with the Packaging API を参照してください。

vtbl 32 HRESULT GetSourceUri(IOpcUri** sourceUri)

Relationships パートに格納されているリレーションシップのソース URI を取得します。現在のパート URI オブジェクトは、その Relationships パートのパート名を表します。

sourceUriIOpcUri**outRelationships パートに格納されているリレーションシップのソースの URI を表す OPC URI オブジェクトの IOpcUri インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。使用される値には次の表の値が含まれますが、これらに限定されません。

戻り値/値 説明
S_OK
メソッドは成功しました。
E_POINTER
sourceUri パラメーターが NULL です。
OPC_E_RELATIONSHIP_URI_REQUIRED
0x80510003
Relationships パートのパート名が必要ですが、指定されたパート名は Relationships パートのものではありません。

Relationships パートのパート名の詳細については、OPC を参照してください。

CreateUri 関数のエラー
CreateUri 関数からの HRESULT エラーコードです。
WinINet のエラー
WinINet API からの HRESULT エラーコードです。

解説(Remarks)

現在のパート URI オブジェクトが、パッケージリレーションシップを格納する Relationships パート ("/_rels/.rels") のパート名を表す場合、sourceUri で返される OPC URI オブジェクトはパッケージのルート ("/") を表します。

現在のパート URI オブジェクトが Relationships パートのパート名でない場合、このメソッドは OPC_E_RELATIONSHIP_URI_REQUIRED エラーで失敗します。Relationships パート名の構文は OPC で規定されています。

次の表は、現在のパート URI として指定できる値と、このメソッドが返すソース URI を示しています。

現在のパート URI 現在のパート URI の説明 ソース URI ソース URI の説明 戻り値
/mydoc/_rels/picture.jpg.rels Relationships パートのパート名 /mydoc/picture.jpg 現在のパート URI オブジェクトが表す Relationships パートに格納されたリレーションシップのソースとなるパートのパート名 S_OK
/_rels/.rels Relationships パートのパート名 / パッケージのルート。現在のパート URI オブジェクトが表す Relationships パートに格納されたリレーションシップのソースです S_OK
/mydoc/image/chart1.jpg Relationships パートではないパートのパート名 未定義 未定義 OPC_E_RELATIONSHIP_URI_REQUIRED
/_rels/a.jpg Relationships パートではないパートのパート名 未定義 未定義 OPC_E_RELATIONSHIP_URI_REQUIRED

以前のバージョンの Windows でのサポート

このメソッドの動作とパフォーマンスは、サポートされているすべての Windows バージョンで同じです。詳細については、Getting Started with the Packaging API および Platform Update for Windows Vista を参照してください。

スレッドセーフティ

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

詳細については、Getting Started with the Packaging API を参照してください。

vtbl 33 HRESULT IsRelationshipsPartUri(BOOL* isRelationshipUri)

現在のパート URI オブジェクトが Relationships パートのパート名を表しているかどうかを示す値を返します。

isRelationshipUriBOOL*out

現在のパート URI オブジェクトが Relationships パートのパート名を表しているかどうかを示す値を受け取ります。

意味
TRUE
現在のパート URI オブジェクトは Relationships パートのパート名を表しています。
FALSE
現在のパート URI オブジェクトは Relationships パートのパート名を表していません。

戻り値

このメソッドは HRESULT を返します。使用される値には次の表の値が含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
isRelationshipUri パラメーターが NULL です。

解説(Remarks)

以前のバージョンの Windows でのサポート

このメソッドの動作とパフォーマンスは、サポートされているすべての Windows バージョンで同じです。詳細については、Getting Started with the Packaging API および Platform Update for Windows Vista を参照してください。

スレッドセーフティ

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

詳細については、Getting Started with the Packaging API を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IOpcPartUri "{7D3BABE7-88B2-46BA-85CB-4203CB016C87}"
#usecom global IOpcPartUri IID_IOpcPartUri "{}"
#comfunc global IOpcPartUri_ComparePartUri          31 sptr,var
#comfunc global IOpcPartUri_GetSourceUri            32 sptr
#comfunc global IOpcPartUri_IsRelationshipsPartUri  33 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。