IOpcPartUri
COM公式ドキュメント
パートのパート名を表します。
解説(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。
現在のパート URI オブジェクトが表す URI と、指定されたパート URI オブジェクトが表す URI が等価かどうかを示す整数を返します。
| partUri | IOpcPartUri* | in | 現在のパート URI オブジェクトと比較するパート URI オブジェクトの IOpcPartUri インターフェイスへのポインター。 | ||||||||
| comparisonResult | INT* | out | 2 つのパート URI オブジェクトが等価かどうかを示す整数を受け取ります。
|
戻り値
このメソッドは HRESULT を返します。使用される値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| partUri および comparisonResult パラメーターの少なくとも 1 つが NULL です。 |
解説(Remarks)
以前のバージョンの Windows でのサポート
このメソッドの動作とパフォーマンスは、サポートされているすべての Windows バージョンで同じです。詳細については、Getting Started with the Packaging API および Platform Update for Windows Vista を参照してください。スレッドセーフティ
パッケージングオブジェクトはスレッドセーフではありません。
詳細については、Getting Started with the Packaging API を参照してください。
Relationships パートに格納されているリレーションシップのソース URI を取得します。現在のパート URI オブジェクトは、その Relationships パートのパート名を表します。
| sourceUri | IOpcUri** | out | Relationships パートに格納されているリレーションシップのソースの URI を表す OPC URI オブジェクトの IOpcUri インターフェイスへのポインター。 |
戻り値
このメソッドは HRESULT を返します。使用される値には次の表の値が含まれますが、これらに限定されません。
| 戻り値/値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| sourceUri パラメーターが NULL です。 | |
|
Relationships パートのパート名が必要ですが、指定されたパート名は Relationships パートのものではありません。
Relationships パートのパート名の詳細については、OPC を参照してください。 |
|
CreateUri 関数からの HRESULT エラーコードです。 |
|
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 を参照してください。
現在のパート URI オブジェクトが Relationships パートのパート名を表しているかどうかを示す値を返します。
| isRelationshipUri | BOOL* | out | 現在のパート URI オブジェクトが Relationships パートのパート名を表しているかどうかを示す値を受け取ります。
|
戻り値
このメソッドは HRESULT を返します。使用される値には次の表の値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| isRelationshipUri パラメーターが NULL です。 |
解説(Remarks)
以前のバージョンの Windows でのサポート
このメソッドの動作とパフォーマンスは、サポートされているすべての Windows バージョンで同じです。詳細については、Getting Started with the Packaging API および Platform Update for Windows Vista を参照してください。スレッドセーフティ
パッケージングオブジェクトはスレッドセーフではありません。
詳細については、Getting Started with the Packaging API を参照してください。
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 指定が可能。#define global IID_IOpcPartUri "{7D3BABE7-88B2-46BA-85CB-4203CB016C87}" #usecom global IOpcPartUri IID_IOpcPartUri "{}" #comfunc global IOpcPartUri_ComparePartUri 31 sptr,sptr #comfunc global IOpcPartUri_GetSourceUri 32 sptr #comfunc global IOpcPartUri_IsRelationshipsPartUri 33 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。