ホーム › System.Search › IConditionGenerator
IConditionGenerator
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT Initialize(ISchemaProvider* pSchemaProvider)
| pSchemaProvider | ISchemaProvider* | in | 条件生成に使用するスキーマを提供する ISchemaProvider へのポインタである。 |
vtbl 4 HRESULT RecognizeNamedEntities(LPWSTR pszInputString, DWORD lcidUserLocale, ITokenCollection* pTokenCollection, INamedEntityCollector* pNamedEntities)
| pszInputString | LPWSTR | in | 名前付きエンティティを認識する対象の入力文字列を指定する。 |
| lcidUserLocale | DWORD | in | 認識に使用するユーザーロケールの識別子(LCID)を指定する。 |
| pTokenCollection | ITokenCollection* | in | 入力文字列のトークン集合を表す ITokenCollection へのポインタである。 |
| pNamedEntities | INamedEntityCollector* | 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)
| pConditionFactory | IConditionFactory* | in | リーフ条件の生成に使用する IConditionFactory へのポインタである。 |
| pszPropertyName | LPWSTR | in | 条件の対象となるプロパティ名を指定する。 |
| cop | CONDITION_OPERATION | in | プロパティと値を比較する演算子を示す CONDITION_OPERATION 値を指定する。 |
| pszValueType | LPWSTR | in | 値の型(意味型)を示す文字列を指定する。 |
| pszValue | LPWSTR | in | 比較する値の文字列を指定する。 |
| pszValue2 | LPWSTR | in | 範囲比較などで用いる二つ目の値の文字列を指定する。不要な場合は NULL を指定する。 |
| pPropertyNameTerm | IRichChunk* | in | プロパティ名に対応する入力文字列中の語句を表す IRichChunk へのポインタである。 |
| pOperationTerm | IRichChunk* | in | 演算子に対応する入力文字列中の語句を表す IRichChunk へのポインタである。 |
| pValueTerm | IRichChunk* | in | 値に対応する入力文字列中の語句を表す IRichChunk へのポインタである。 |
| automaticWildcard | BOOL | in | 値に対して自動的にワイルドカードを付与する場合は TRUE を指定する。 |
| pNoStringQuery | BOOL* | out | 文字列クエリを生成しなかったかどうかを受け取る BOOL の出力ポインタである。 |
| ppQueryExpression | ICondition** | out | 生成されたクエリ条件を表す ICondition を受け取る出力ポインタである。 |
vtbl 6 HRESULT DefaultPhrase(LPWSTR pszValueType, PROPVARIANT* ppropvar, BOOL fUseEnglish, LPWSTR* ppszPhrase)
| pszValueType | LPWSTR | in | 既定フレーズを生成する対象の値の型(意味型)を示す文字列を指定する。 |
| ppropvar | PROPVARIANT* | in | フレーズの基となる値を格納した PROPVARIANT へのポインタである。 |
| fUseEnglish | BOOL | in | 英語でフレーズを生成する場合は TRUE を指定する。 |
| ppszPhrase | LPWSTR* | 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 指定が可能。#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,sptr,sptr #comfunc global IConditionGenerator_DefaultPhrase 6 wstr,sptr,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。