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

IOpcRelationshipSelectorSet

COM
IID6e34c269-a4d3-47c0-b5c4-87ff2b3b6136継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

署名対象のリレーションシップを識別するために使用される選択条件を表す、IOpcRelationshipSelector インターフェイスポインターの順序なしセットです。

解説(Remarks)

セット内の IOpcRelationshipSelector インターフェイスポインターのメソッドを使用して、署名対象のリレーションシップを選択します。

IOpcRelationshipSelectorSet インターフェイスポインターを作成するには、IOpcSignatureRelationshipReference::CreateRelationshipSelectorSet メソッドを呼び出します。

IOpcRelationshipSelector インターフェイスポインターが作成されてセットに追加されると、そのポインターがアクセスを提供する条件は、パッケージの保存時に保存されます。

IOpcRelationshipSelector インターフェイスポインターがセットから削除されると、そのポインターがアクセスを提供する条件は、パッケージの保存時に保存されません。

スレッドセーフティ

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

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

メソッド 3

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

vtbl 3 HRESULT Create(OPC_RELATIONSHIP_SELECTOR selector, LPWSTR selectionCriterion, IOpcRelationshipSelector** relationshipSelector)

署名対象のリレーションシップのサブセットをどのように選択するかを表す IOpcRelationshipSelector インターフェイスポインターを作成し、新しいポインターをセットに追加します。

selectorOPC_RELATIONSHIP_SELECTORinselectionCriterion で渡される文字列をどのように解釈するかを記述する値です。
selectionCriterionLPWSTRin解釈されて条件を生成する文字列です。
relationshipSelectorIOpcRelationshipSelector**out

Relationships パートからリレーションシップをどのように選択するかを表す、新しい IOpcRelationshipSelector インターフェイスポインターです。

新しいインターフェイスへのポインターが不要な場合、このパラメーターは NULL にできます。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれます (ただし、これらに限定されません)。

戻り値 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
selector パラメーターに渡された値が、有効な OPC_RELATIONSHIP_SELECTOR 列挙値ではありません。
E_POINTER
partUri パラメーターが NULL です。

解説(Remarks)

セット内の IOpcRelationshipSelector インターフェイスポインターのメソッドを使用して、署名対象のリレーションシップを選択します。

IOpcRelationshipSelector インターフェイスポインターが作成されてセットに追加されると、そのポインターがアクセスを提供する条件は、パッケージの保存時に保存されます。

スレッドセーフティ

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

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

vtbl 4 HRESULT Delete(IOpcRelationshipSelector* relationshipSelector)

指定された IOpcRelationshipSelector インターフェイスポインターをセットから削除します。

relationshipSelectorIOpcRelationshipSelector*in削除する IOpcRelationshipSelector インターフェイスポインターです。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれます (ただし、これらに限定されません)。

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

解説(Remarks)

IOpcRelationshipSelector インターフェイスポインターがセットから削除されると、そのポインターがアクセスを提供する条件は、パッケージの保存時に保存されません。

スレッドセーフティ

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

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

vtbl 5 HRESULT GetEnumerator(IOpcRelationshipSelectorEnumerator** relationshipSelectorEnumerator)

セット内の IOpcRelationshipSelector インターフェイスポインターの列挙子を取得します。

relationshipSelectorEnumeratorIOpcRelationshipSelectorEnumerator**outセット内の IOpcRelationshipSelector インターフェイスポインターの列挙子へのポインターです。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれます (ただし、これらに限定されません)。

戻り値 説明
S_OK
メソッドが成功しました。
E_POINTER
relationshipSelectorEnumerator パラメーターが NULL です。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IOpcRelationshipSelectorSet "{6E34C269-A4D3-47C0-B5C4-87FF2B3B6136}"
#usecom global IOpcRelationshipSelectorSet IID_IOpcRelationshipSelectorSet "{}"
#comfunc global IOpcRelationshipSelectorSet_Create         3 int,wstr,sptr
#comfunc global IOpcRelationshipSelectorSet_Delete         4 sptr
#comfunc global IOpcRelationshipSelectorSet_GetEnumerator  5 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。