IOpcRelationshipSelectorSet
COM公式ドキュメント
署名対象のリレーションシップを識別するために使用される選択条件を表す、IOpcRelationshipSelector インターフェイスポインターの順序なしセットです。
解説(Remarks)
セット内の IOpcRelationshipSelector インターフェイスポインターのメソッドを使用して、署名対象のリレーションシップを選択します。
IOpcRelationshipSelectorSet インターフェイスポインターを作成するには、IOpcSignatureRelationshipReference::CreateRelationshipSelectorSet メソッドを呼び出します。
IOpcRelationshipSelector インターフェイスポインターが作成されてセットに追加されると、そのポインターがアクセスを提供する条件は、パッケージの保存時に保存されます。
IOpcRelationshipSelector インターフェイスポインターがセットから削除されると、そのポインターがアクセスを提供する条件は、パッケージの保存時に保存されません。
スレッドセーフティ
パッケージングオブジェクトはスレッドセーフではありません。
詳細については、Getting Started with the Packaging API を参照してください。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
署名対象のリレーションシップのサブセットをどのように選択するかを表す IOpcRelationshipSelector インターフェイスポインターを作成し、新しいポインターをセットに追加します。
| selector | OPC_RELATIONSHIP_SELECTOR | in | selectionCriterion で渡される文字列をどのように解釈するかを記述する値です。 |
| selectionCriterion | LPWSTR | in | 解釈されて条件を生成する文字列です。 |
| relationshipSelector | IOpcRelationshipSelector** | out | Relationships パートからリレーションシップをどのように選択するかを表す、新しい IOpcRelationshipSelector インターフェイスポインターです。 新しいインターフェイスへのポインターが不要な場合、このパラメーターは NULL にできます。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれます (ただし、これらに限定されません)。
| 戻り値 | 説明 |
|---|---|
| メソッドが成功しました。 | |
| selector パラメーターに渡された値が、有効な OPC_RELATIONSHIP_SELECTOR 列挙値ではありません。 | |
| partUri パラメーターが NULL です。 |
解説(Remarks)
セット内の IOpcRelationshipSelector インターフェイスポインターのメソッドを使用して、署名対象のリレーションシップを選択します。
IOpcRelationshipSelector インターフェイスポインターが作成されてセットに追加されると、そのポインターがアクセスを提供する条件は、パッケージの保存時に保存されます。
スレッドセーフティ
パッケージングオブジェクトはスレッドセーフではありません。
詳細については、Getting Started with the Packaging API を参照してください。
指定された IOpcRelationshipSelector インターフェイスポインターをセットから削除します。
| relationshipSelector | IOpcRelationshipSelector* | in | 削除する IOpcRelationshipSelector インターフェイスポインターです。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれます (ただし、これらに限定されません)。
| 戻り値 | 説明 |
|---|---|
| メソッドが成功しました。 | |
| relationshipSelector パラメーターが NULL です。 |
解説(Remarks)
IOpcRelationshipSelector インターフェイスポインターがセットから削除されると、そのポインターがアクセスを提供する条件は、パッケージの保存時に保存されません。
スレッドセーフティ
パッケージングオブジェクトはスレッドセーフではありません。
詳細については、Getting Started with the Packaging API を参照してください。
セット内の IOpcRelationshipSelector インターフェイスポインターの列挙子を取得します。
| relationshipSelectorEnumerator | IOpcRelationshipSelectorEnumerator** | out | セット内の IOpcRelationshipSelector インターフェイスポインターの列挙子へのポインターです。 |
戻り値
このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれます (ただし、これらに限定されません)。
| 戻り値 | 説明 |
|---|---|
| メソッドが成功しました。 | |
| relationshipSelectorEnumerator パラメーターが NULL です。 |
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 指定が可能。