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

IConditionGenerator

COM
IID92d2cc58-4386-45a3-b98c-7e0ce64a4117継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

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

vtbl 3 HRESULT Initialize(ISchemaProvider* pSchemaProvider)
pSchemaProviderISchemaProvider*in条件生成に使用するスキーマを提供する ISchemaProvider へのポインタである。
vtbl 4 HRESULT RecognizeNamedEntities(LPWSTR pszInputString, DWORD lcidUserLocale, ITokenCollection* pTokenCollection, INamedEntityCollector* pNamedEntities)
pszInputStringLPWSTRin名前付きエンティティを認識する対象の入力文字列を指定する。
lcidUserLocaleDWORDin認識に使用するユーザーロケールの識別子(LCID)を指定する。
pTokenCollectionITokenCollection*in入力文字列のトークン集合を表す ITokenCollection へのポインタである。
pNamedEntitiesINamedEntityCollector*in認識された名前付きエンティティを受け取る INamedEntityCollector へのポインタである。
vtbl 5 HRESULT GenerateForLeaf(IConditionFactory* pConditionFactory, LPWSTR pszPropertyName, CONDITION_OPERATION cop, LPWSTR pszValueType, LPWSTR pszValue, LPWSTR pszValue2, IRichChunk* pPropertyNameTerm, IRichChunk* pOperationTerm, IRichChunk* pValueTerm, BOOL automaticWildcard, BOOL* pNoStringQuery, ICondition** ppQueryExpression)
pConditionFactoryIConditionFactory*inリーフ条件の生成に使用する IConditionFactory へのポインタである。
pszPropertyNameLPWSTRin条件の対象となるプロパティ名を指定する。
copCONDITION_OPERATIONinプロパティと値を比較する演算子を示す CONDITION_OPERATION 値を指定する。
pszValueTypeLPWSTRin値の型(意味型)を示す文字列を指定する。
pszValueLPWSTRin比較する値の文字列を指定する。
pszValue2LPWSTRin範囲比較などで用いる二つ目の値の文字列を指定する。不要な場合は NULL を指定する。
pPropertyNameTermIRichChunk*inプロパティ名に対応する入力文字列中の語句を表す IRichChunk へのポインタである。
pOperationTermIRichChunk*in演算子に対応する入力文字列中の語句を表す IRichChunk へのポインタである。
pValueTermIRichChunk*in値に対応する入力文字列中の語句を表す IRichChunk へのポインタである。
automaticWildcardBOOLin値に対して自動的にワイルドカードを付与する場合は TRUE を指定する。
pNoStringQueryBOOL*out文字列クエリを生成しなかったかどうかを受け取る BOOL の出力ポインタである。
ppQueryExpressionICondition**out生成されたクエリ条件を表す ICondition を受け取る出力ポインタである。
vtbl 6 HRESULT DefaultPhrase(LPWSTR pszValueType, PROPVARIANT* ppropvar, BOOL fUseEnglish, LPWSTR* ppszPhrase)
pszValueTypeLPWSTRin既定フレーズを生成する対象の値の型(意味型)を示す文字列を指定する。
ppropvarPROPVARIANT*inフレーズの基となる値を格納した PROPVARIANT へのポインタである。
fUseEnglishBOOLin英語でフレーズを生成する場合は TRUE を指定する。
ppszPhraseLPWSTR*outoptional生成された既定フレーズの文字列を受け取る出力ポインタである。呼び出し側が解放する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IConditionGenerator "{92D2CC58-4386-45A3-B98C-7E0CE64A4117}"
#usecom global IConditionGenerator IID_IConditionGenerator "{}"
#comfunc global IConditionGenerator_Initialize              3 sptr
#comfunc global IConditionGenerator_RecognizeNamedEntities  4 wstr,int,sptr,sptr
#comfunc global IConditionGenerator_GenerateForLeaf         5 sptr,wstr,int,wstr,wstr,wstr,sptr,sptr,sptr,int,var,sptr
#comfunc global IConditionGenerator_DefaultPhrase           6 wstr,var,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。