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

ILoadFilter

COM
IIDc7310722-ac80-11d1-8df3-00c04fb6ef4f継承元IUnknown自前メソッド開始 vtbl3

メソッド 3

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

vtbl 3 HRESULT LoadIFilter(LPWSTR pwcsPath, FILTERED_DATA_SOURCES* pFilteredSources, IUnknown* pUnkOuter, BOOL fUseDefault, GUID* pFilterClsid, INT* SearchDecSize, WORD** pwcsSearchDesc, IFilter** ppIFilt)
pwcsPathLPWSTRinフィルタを読み込む対象ファイルのパスを指定する。
pFilteredSourcesFILTERED_DATA_SOURCES*inフィルタ処理対象のデータソースに関する情報を含む FILTERED_DATA_SOURCES 構造体へのポインタである。
pUnkOuterIUnknown*inアグリゲーションを行う場合の制御 IUnknown へのポインタである。アグリゲートしない場合は NULL を指定する。
fUseDefaultBOOLin対象に固有のフィルタが見つからない場合に既定のフィルタを使用するかどうかを指定する。
pFilterClsidGUID*inout使用するフィルタのクラス ID(CLSID)を指定し、また実際に使用されたフィルタの CLSID を受け取る GUID へのポインタである。
SearchDecSizeINT*inoutpwcsSearchDesc が指す検索記述文字列のサイズ(文字数)を受け取る。
pwcsSearchDescWORD**inoutフィルタの選択に用いられた検索記述を表す文字列へのポインタを受け取る。
ppIFiltIFilter**inout読み込まれたフィルタオブジェクト(IFilter)へのポインタを受け取る。
vtbl 4 HRESULT LoadIFilterFromStorage(IStorage* pStg, IUnknown* pUnkOuter, LPWSTR pwcsOverride, BOOL fUseDefault, GUID* pFilterClsid, INT* SearchDecSize, WORD** pwcsSearchDesc, IFilter** ppIFilt)
pStgIStorage*inフィルタ処理対象のデータを保持するストレージ(IStorage)へのポインタである。
pUnkOuterIUnknown*inアグリゲーションを行う場合の制御 IUnknown へのポインタである。アグリゲートしない場合は NULL を指定する。
pwcsOverrideLPWSTRinフィルタ選択に使用する内容種別やクラス情報を上書きする文字列を指定する。上書きしない場合は NULL を指定する。
fUseDefaultBOOLin対象に固有のフィルタが見つからない場合に既定のフィルタを使用するかどうかを指定する。
pFilterClsidGUID*inout使用するフィルタのクラス ID(CLSID)を指定し、また実際に使用されたフィルタの CLSID を受け取る GUID へのポインタである。
SearchDecSizeINT*inoutpwcsSearchDesc が指す検索記述文字列のサイズ(文字数)を受け取る。
pwcsSearchDescWORD**inoutフィルタの選択に用いられた検索記述を表す文字列へのポインタを受け取る。
ppIFiltIFilter**inout読み込まれたフィルタオブジェクト(IFilter)へのポインタを受け取る。
vtbl 5 HRESULT LoadIFilterFromStream(IStream* pStm, FILTERED_DATA_SOURCES* pFilteredSources, IUnknown* pUnkOuter, BOOL fUseDefault, GUID* pFilterClsid, INT* SearchDecSize, WORD** pwcsSearchDesc, IFilter** ppIFilt)
pStmIStream*inフィルタ処理対象のデータを保持するストリーム(IStream)へのポインタである。
pFilteredSourcesFILTERED_DATA_SOURCES*inフィルタ処理対象のデータソースに関する情報を含む FILTERED_DATA_SOURCES 構造体へのポインタである。
pUnkOuterIUnknown*inアグリゲーションを行う場合の制御 IUnknown へのポインタである。アグリゲートしない場合は NULL を指定する。
fUseDefaultBOOLin対象に固有のフィルタが見つからない場合に既定のフィルタを使用するかどうかを指定する。
pFilterClsidGUID*inout使用するフィルタのクラス ID(CLSID)を指定し、また実際に使用されたフィルタの CLSID を受け取る GUID へのポインタである。
SearchDecSizeINT*inoutpwcsSearchDesc が指す検索記述文字列のサイズ(文字数)を受け取る。
pwcsSearchDescWORD**inoutフィルタの選択に用いられた検索記述を表す文字列へのポインタを受け取る。
ppIFiltIFilter**inout読み込まれたフィルタオブジェクト(IFilter)へのポインタを受け取る。

HSP用 COM定義

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

出力引数:
#define global IID_ILoadFilter "{C7310722-AC80-11D1-8DF3-00C04FB6EF4F}"
#usecom global ILoadFilter IID_ILoadFilter "{}"
#comfunc global ILoadFilter_LoadIFilter             3 wstr,var,sptr,int,var,var,var,sptr
#comfunc global ILoadFilter_LoadIFilterFromStorage  4 sptr,sptr,wstr,int,var,var,var,sptr
#comfunc global ILoadFilter_LoadIFilterFromStream   5 sptr,var,sptr,int,var,var,var,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。