ホーム › System.Search › IConditionFactory2
IConditionFactory2
COMメソッド 9
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 7 HRESULT CreateTrueFalse(BOOL fVal, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
| fVal | BOOL | in | 常に真の条件を生成する場合は TRUE、常に偽の条件を生成する場合は FALSE を指定する。 |
| cco | CONDITION_CREATION_OPTIONS | in | 条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。 |
| riid | GUID* | in | 返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。 |
| ppv | void** | out | 生成された条件オブジェクトの riid で指定したインターフェイスポインタを受け取る出力ポインタである。 |
vtbl 8 HRESULT CreateNegation(ICondition* pcSub, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
| pcSub | ICondition* | in | 否定の対象となる部分条件を表す ICondition へのポインタである。 |
| cco | CONDITION_CREATION_OPTIONS | in | 条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。 |
| riid | GUID* | in | 返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。 |
| ppv | void** | out | 生成された否定条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。 |
vtbl 9 HRESULT CreateCompoundFromObjectArray(CONDITION_TYPE ct, IObjectArray* poaSubs, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
| ct | CONDITION_TYPE | in | 生成する複合条件の種別(AND または OR)を示す CONDITION_TYPE 値を指定する。 |
| poaSubs | IObjectArray* | inoptional | 複合条件を構成する部分条件群を保持する IObjectArray へのポインタである。 |
| cco | CONDITION_CREATION_OPTIONS | in | 条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。 |
| riid | GUID* | in | 返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。 |
| ppv | void** | out | 生成された複合条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。 |
vtbl 10 HRESULT CreateCompoundFromArray(CONDITION_TYPE ct, ICondition** ppcondSubs, DWORD cSubs, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
| ct | CONDITION_TYPE | in | 生成する複合条件の種別(AND または OR)を示す CONDITION_TYPE 値を指定する。 |
| ppcondSubs | ICondition** | in | 複合条件を構成する部分条件(ICondition)の配列を指定する。 |
| cSubs | DWORD | in | ppcondSubs 配列に含まれる部分条件の個数を指定する。 |
| cco | CONDITION_CREATION_OPTIONS | in | 条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。 |
| riid | GUID* | in | 返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。 |
| ppv | void** | out | 生成された複合条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。 |
vtbl 11 HRESULT CreateStringLeaf(PROPERTYKEY* propkey, CONDITION_OPERATION cop, LPWSTR pszValue, LPWSTR pszLocaleName, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
| propkey | PROPERTYKEY* | in | リーフ条件の対象となるプロパティを識別する PROPERTYKEY へのポインタである。 |
| cop | CONDITION_OPERATION | in | プロパティと値を比較する演算子を示す CONDITION_OPERATION 値を指定する。 |
| pszValue | LPWSTR | in | 比較する文字列値を指定する。 |
| pszLocaleName | LPWSTR | inoptional | 値の解釈に使用するロケール名を指定する。 |
| cco | CONDITION_CREATION_OPTIONS | in | 条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。 |
| riid | GUID* | in | 返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。 |
| ppv | void** | out | 生成された文字列リーフ条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。 |
vtbl 12 HRESULT CreateIntegerLeaf(PROPERTYKEY* propkey, CONDITION_OPERATION cop, INT lValue, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
| propkey | PROPERTYKEY* | in | リーフ条件の対象となるプロパティを識別する PROPERTYKEY へのポインタである。 |
| cop | CONDITION_OPERATION | in | プロパティと値を比較する演算子を示す CONDITION_OPERATION 値を指定する。 |
| lValue | INT | in | 比較する整数値を指定する。 |
| cco | CONDITION_CREATION_OPTIONS | in | 条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。 |
| riid | GUID* | in | 返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。 |
| ppv | void** | out | 生成された整数リーフ条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。 |
vtbl 13 HRESULT CreateBooleanLeaf(PROPERTYKEY* propkey, CONDITION_OPERATION cop, BOOL fValue, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
| propkey | PROPERTYKEY* | in | リーフ条件の対象となるプロパティを識別する PROPERTYKEY へのポインタである。 |
| cop | CONDITION_OPERATION | in | プロパティと値を比較する演算子を示す CONDITION_OPERATION 値を指定する。 |
| fValue | BOOL | in | 比較するブール値を指定する。 |
| cco | CONDITION_CREATION_OPTIONS | in | 条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。 |
| riid | GUID* | in | 返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。 |
| ppv | void** | out | 生成されたブールリーフ条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。 |
vtbl 14 HRESULT CreateLeaf(PROPERTYKEY* propkey, CONDITION_OPERATION cop, PROPVARIANT* propvar, LPWSTR pszSemanticType, LPWSTR pszLocaleName, IRichChunk* pPropertyNameTerm, IRichChunk* pOperationTerm, IRichChunk* pValueTerm, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
| propkey | PROPERTYKEY* | in | リーフ条件の対象となるプロパティを識別する PROPERTYKEY へのポインタである。 |
| cop | CONDITION_OPERATION | in | プロパティと値を比較する演算子を示す CONDITION_OPERATION 値を指定する。 |
| propvar | PROPVARIANT* | in | 比較する値を格納した PROPVARIANT へのポインタである。 |
| pszSemanticType | LPWSTR | inoptional | 値の意味型を示す文字列を指定する。 |
| pszLocaleName | LPWSTR | inoptional | 値の解釈に使用するロケール名を指定する。 |
| pPropertyNameTerm | IRichChunk* | inoptional | プロパティ名に対応する入力文字列中の語句を表す IRichChunk へのポインタである。 |
| pOperationTerm | IRichChunk* | inoptional | 演算子に対応する入力文字列中の語句を表す IRichChunk へのポインタである。 |
| pValueTerm | IRichChunk* | inoptional | 値に対応する入力文字列中の語句を表す IRichChunk へのポインタである。 |
| cco | CONDITION_CREATION_OPTIONS | in | 条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。 |
| riid | GUID* | in | 返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。 |
| ppv | void** | out | 生成されたリーフ条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。 |
vtbl 15 HRESULT ResolveCondition(ICondition* pc, STRUCTURED_QUERY_RESOLVE_OPTION sqro, SYSTEMTIME* pstReferenceTime, GUID* riid, void** ppv)
| pc | ICondition* | in | 解決対象となる条件ツリーを表す ICondition へのポインタである。 |
| sqro | STRUCTURED_QUERY_RESOLVE_OPTION | in | 条件の解決方法を制御する STRUCTURED_QUERY_RESOLVE_OPTION 値を指定する。 |
| pstReferenceTime | SYSTEMTIME* | inoptional | 相対的な日時表現を解決する際の基準時刻を示す SYSTEMTIME へのポインタである。 |
| riid | GUID* | in | 返す解決後条件のインターフェイスを識別する GUID(IID)へのポインタである。 |
| ppv | void** | out | 解決後の条件オブジェクトの riid で指定したインターフェイスポインタを受け取る出力ポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IConditionFactory2 "{71D222E1-432F-429E-8C13-B6DAFDE5077A}" #usecom global IConditionFactory2 IID_IConditionFactory2 "{E03E85B0-7BE3-4000-BA98-6C13DE9FA486}" #comfunc global IConditionFactory2_CreateTrueFalse 7 int,int,var,sptr #comfunc global IConditionFactory2_CreateNegation 8 sptr,int,var,sptr #comfunc global IConditionFactory2_CreateCompoundFromObjectArray 9 int,sptr,int,var,sptr #comfunc global IConditionFactory2_CreateCompoundFromArray 10 int,sptr,int,int,var,sptr #comfunc global IConditionFactory2_CreateStringLeaf 11 var,int,wstr,wstr,int,var,sptr #comfunc global IConditionFactory2_CreateIntegerLeaf 12 var,int,int,int,var,sptr #comfunc global IConditionFactory2_CreateBooleanLeaf 13 var,int,int,int,var,sptr #comfunc global IConditionFactory2_CreateLeaf 14 var,int,var,wstr,wstr,sptr,sptr,sptr,int,var,sptr #comfunc global IConditionFactory2_ResolveCondition 15 sptr,int,var,var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IConditionFactory2 "{71D222E1-432F-429E-8C13-B6DAFDE5077A}" #usecom global IConditionFactory2 IID_IConditionFactory2 "{E03E85B0-7BE3-4000-BA98-6C13DE9FA486}" #comfunc global IConditionFactory2_CreateTrueFalse 7 int,int,sptr,sptr #comfunc global IConditionFactory2_CreateNegation 8 sptr,int,sptr,sptr #comfunc global IConditionFactory2_CreateCompoundFromObjectArray 9 int,sptr,int,sptr,sptr #comfunc global IConditionFactory2_CreateCompoundFromArray 10 int,sptr,int,int,sptr,sptr #comfunc global IConditionFactory2_CreateStringLeaf 11 sptr,int,wstr,wstr,int,sptr,sptr #comfunc global IConditionFactory2_CreateIntegerLeaf 12 sptr,int,int,int,sptr,sptr #comfunc global IConditionFactory2_CreateBooleanLeaf 13 sptr,int,int,int,sptr,sptr #comfunc global IConditionFactory2_CreateLeaf 14 sptr,int,sptr,wstr,wstr,sptr,sptr,sptr,int,sptr,sptr #comfunc global IConditionFactory2_ResolveCondition 15 sptr,int,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。