Win32 API 日本語リファレンス
ホームSystem.Search › IConditionFactory2

IConditionFactory2

COM
IID71d222e1-432f-429e-8c13-b6dafde5077a継承元IConditionFactory自前メソッド開始 vtbl7

メソッド 9

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

vtbl 7 HRESULT CreateTrueFalse(BOOL fVal, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
fValBOOLin常に真の条件を生成する場合は TRUE、常に偽の条件を生成する場合は FALSE を指定する。
ccoCONDITION_CREATION_OPTIONSin条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。
riidGUID*in返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。
ppvvoid**out生成された条件オブジェクトの riid で指定したインターフェイスポインタを受け取る出力ポインタである。
vtbl 8 HRESULT CreateNegation(ICondition* pcSub, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
pcSubICondition*in否定の対象となる部分条件を表す ICondition へのポインタである。
ccoCONDITION_CREATION_OPTIONSin条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。
riidGUID*in返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。
ppvvoid**out生成された否定条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。
vtbl 9 HRESULT CreateCompoundFromObjectArray(CONDITION_TYPE ct, IObjectArray* poaSubs, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
ctCONDITION_TYPEin生成する複合条件の種別(AND または OR)を示す CONDITION_TYPE 値を指定する。
poaSubsIObjectArray*inoptional複合条件を構成する部分条件群を保持する IObjectArray へのポインタである。
ccoCONDITION_CREATION_OPTIONSin条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。
riidGUID*in返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。
ppvvoid**out生成された複合条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。
vtbl 10 HRESULT CreateCompoundFromArray(CONDITION_TYPE ct, ICondition** ppcondSubs, DWORD cSubs, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
ctCONDITION_TYPEin生成する複合条件の種別(AND または OR)を示す CONDITION_TYPE 値を指定する。
ppcondSubsICondition**in複合条件を構成する部分条件(ICondition)の配列を指定する。
cSubsDWORDinppcondSubs 配列に含まれる部分条件の個数を指定する。
ccoCONDITION_CREATION_OPTIONSin条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。
riidGUID*in返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。
ppvvoid**out生成された複合条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。
vtbl 11 HRESULT CreateStringLeaf(PROPERTYKEY* propkey, CONDITION_OPERATION cop, LPWSTR pszValue, LPWSTR pszLocaleName, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
propkeyPROPERTYKEY*inリーフ条件の対象となるプロパティを識別する PROPERTYKEY へのポインタである。
copCONDITION_OPERATIONinプロパティと値を比較する演算子を示す CONDITION_OPERATION 値を指定する。
pszValueLPWSTRin比較する文字列値を指定する。
pszLocaleNameLPWSTRinoptional値の解釈に使用するロケール名を指定する。
ccoCONDITION_CREATION_OPTIONSin条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。
riidGUID*in返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。
ppvvoid**out生成された文字列リーフ条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。
vtbl 12 HRESULT CreateIntegerLeaf(PROPERTYKEY* propkey, CONDITION_OPERATION cop, INT lValue, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
propkeyPROPERTYKEY*inリーフ条件の対象となるプロパティを識別する PROPERTYKEY へのポインタである。
copCONDITION_OPERATIONinプロパティと値を比較する演算子を示す CONDITION_OPERATION 値を指定する。
lValueINTin比較する整数値を指定する。
ccoCONDITION_CREATION_OPTIONSin条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。
riidGUID*in返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。
ppvvoid**out生成された整数リーフ条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。
vtbl 13 HRESULT CreateBooleanLeaf(PROPERTYKEY* propkey, CONDITION_OPERATION cop, BOOL fValue, CONDITION_CREATION_OPTIONS cco, GUID* riid, void** ppv)
propkeyPROPERTYKEY*inリーフ条件の対象となるプロパティを識別する PROPERTYKEY へのポインタである。
copCONDITION_OPERATIONinプロパティと値を比較する演算子を示す CONDITION_OPERATION 値を指定する。
fValueBOOLin比較するブール値を指定する。
ccoCONDITION_CREATION_OPTIONSin条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。
riidGUID*in返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。
ppvvoid**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)
propkeyPROPERTYKEY*inリーフ条件の対象となるプロパティを識別する PROPERTYKEY へのポインタである。
copCONDITION_OPERATIONinプロパティと値を比較する演算子を示す CONDITION_OPERATION 値を指定する。
propvarPROPVARIANT*in比較する値を格納した PROPVARIANT へのポインタである。
pszSemanticTypeLPWSTRinoptional値の意味型を示す文字列を指定する。
pszLocaleNameLPWSTRinoptional値の解釈に使用するロケール名を指定する。
pPropertyNameTermIRichChunk*inoptionalプロパティ名に対応する入力文字列中の語句を表す IRichChunk へのポインタである。
pOperationTermIRichChunk*inoptional演算子に対応する入力文字列中の語句を表す IRichChunk へのポインタである。
pValueTermIRichChunk*inoptional値に対応する入力文字列中の語句を表す IRichChunk へのポインタである。
ccoCONDITION_CREATION_OPTIONSin条件生成時の動作を制御する CONDITION_CREATION_OPTIONS フラグを指定する。
riidGUID*in返す条件オブジェクトのインターフェイスを識別する GUID(IID)へのポインタである。
ppvvoid**out生成されたリーフ条件の riid で指定したインターフェイスポインタを受け取る出力ポインタである。
vtbl 15 HRESULT ResolveCondition(ICondition* pc, STRUCTURED_QUERY_RESOLVE_OPTION sqro, SYSTEMTIME* pstReferenceTime, GUID* riid, void** ppv)
pcICondition*in解決対象となる条件ツリーを表す ICondition へのポインタである。
sqroSTRUCTURED_QUERY_RESOLVE_OPTIONin条件の解決方法を制御する STRUCTURED_QUERY_RESOLVE_OPTION 値を指定する。
pstReferenceTimeSYSTEMTIME*inoptional相対的な日時表現を解決する際の基準時刻を示す SYSTEMTIME へのポインタである。
riidGUID*in返す解決後条件のインターフェイスを識別する GUID(IID)へのポインタである。
ppvvoid**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 指定が可能。