ホーム › System.Search › IRowsetFind
IRowsetFind
COMメソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT FindNextRow(UINT_PTR hChapter, HACCESSOR hAccessor, void* pFindValue, DWORD CompareOp, UINT_PTR cbBookmark, BYTE* pBookmark, INT_PTR lRowsOffset, INT_PTR cRows, UINT_PTR* pcRowsObtained, UINT_PTR** prghRows)
| hChapter | UINT_PTR | in | 検索を行う対象のチャプターハンドルを指定する。チャプターをサポートしない場合は 0 を指定する。 |
| hAccessor | HACCESSOR | in | 検索値の構成を記述するアクセサーのハンドルを指定する。 |
| pFindValue | void* | in | 検索対象の比較値を格納したバッファへのポインタである。 |
| CompareOp | DWORD | in | 検索値と各行を比較する際に用いる比較演算子を指定する。 |
| cbBookmark | UINT_PTR | in | pBookmark が指すブックマークのサイズ(バイト数)を指定する。 |
| pBookmark | BYTE* | in | 検索の起点となる行を指すブックマークを格納したバッファへのポインタである。 |
| lRowsOffset | INT_PTR | in | 起点位置から検索を開始するまでにスキップする行数(オフセット)を指定する。 |
| cRows | INT_PTR | in | 取得する行数を指定する。負の値は逆方向への検索を表す。 |
| pcRowsObtained | UINT_PTR* | inout | 実際に取得された行数を受け取る。 |
| prghRows | UINT_PTR** | out | 条件に一致した行のハンドル配列へのポインタを受け取る。配列はプロバイダーが割り当てる。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IRowsetFind "{0C733A9D-2A1C-11CE-ADE5-00AA0044773D}" #usecom global IRowsetFind IID_IRowsetFind "{}" #comfunc global IRowsetFind_FindNextRow 3 sptr,sptr,sptr,int,sptr,var,sptr,sptr,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IRowsetFind "{0C733A9D-2A1C-11CE-ADE5-00AA0044773D}" #usecom global IRowsetFind IID_IRowsetFind "{}" #comfunc global IRowsetFind_FindNextRow 3 sptr,sptr,sptr,int,sptr,sptr,sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。