ホーム › System.Search › IRowsetWatchRegion
IRowsetWatchRegion
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| dwWatchMode | DWORD | in | 監視対象とする変更の種類を示す監視モードフラグを指定する。 |
| phRegion | UINT_PTR* | out | 作成された監視領域のハンドルを受け取るポインタである。 |
| hRegion | UINT_PTR | in | 監視モードを変更する対象の監視領域のハンドルを指定する。 |
| dwWatchMode | DWORD | in | 新たに設定する監視モードフラグを指定する。 |
| hRegion | UINT_PTR | in | 削除する監視領域のハンドルを指定する。 |
vtbl 9 HRESULT GetWatchRegionInfo(UINT_PTR hRegion, DWORD* pdwWatchMode, UINT_PTR* phChapter, UINT_PTR* pcbBookmark, BYTE** ppBookmark, INT_PTR* pcRows)
| hRegion | UINT_PTR | in | 情報を取得する対象の監視領域のハンドルを指定する。 |
| pdwWatchMode | DWORD* | out | 監視領域に設定されている監視モードを受け取るポインタである。 |
| phChapter | UINT_PTR* | out | 監視領域が属するチャプタのハンドルを受け取るポインタである。 |
| pcbBookmark | UINT_PTR* | inout | 返されるブックマークのバイト数を受け取るポインタである。 |
| ppBookmark | BYTE** | out | 監視領域の開始位置を示すブックマークを受け取るポインタである。 |
| pcRows | INT_PTR* | out | 監視領域に含まれる行数を受け取るポインタである。 |
vtbl 10 HRESULT Refresh(UINT_PTR* pcChangesObtained, DBROWWATCHCHANGE** prgChanges)
| pcChangesObtained | UINT_PTR* | inout | 取得された変更エントリの個数を受け取るポインタである。 |
| prgChanges | DBROWWATCHCHANGE** | out | 発生した変更を記述する DBROWWATCHCHANGE 構造体配列を受け取るポインタである。 |
vtbl 11 HRESULT ShrinkWatchRegion(UINT_PTR hRegion, UINT_PTR hChapter, UINT_PTR cbBookmark, BYTE* pBookmark, INT_PTR cRows)
| hRegion | UINT_PTR | in | 縮小する対象の監視領域のハンドルを指定する。 |
| hChapter | UINT_PTR | in | 縮小後の領域が属するチャプタのハンドルを指定する。 |
| cbBookmark | UINT_PTR | in | pBookmark が指すブックマークのバイト数を指定する。 |
| pBookmark | BYTE* | in | 縮小後の監視領域の新しい開始位置を示すブックマークへのポインタである。 |
| cRows | INT_PTR | in | 縮小後の監視領域に含める行数を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IRowsetWatchRegion "{0C733A45-2A1C-11CE-ADE5-00AA0044773D}" #usecom global IRowsetWatchRegion IID_IRowsetWatchRegion "{}" #comfunc global IRowsetWatchRegion_CreateWatchRegion 6 int,var #comfunc global IRowsetWatchRegion_ChangeWatchMode 7 sptr,int #comfunc global IRowsetWatchRegion_DeleteWatchRegion 8 sptr #comfunc global IRowsetWatchRegion_GetWatchRegionInfo 9 sptr,var,var,var,var,var #comfunc global IRowsetWatchRegion_Refresh 10 var,var #comfunc global IRowsetWatchRegion_ShrinkWatchRegion 11 sptr,sptr,sptr,var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IRowsetWatchRegion "{0C733A45-2A1C-11CE-ADE5-00AA0044773D}" #usecom global IRowsetWatchRegion IID_IRowsetWatchRegion "{}" #comfunc global IRowsetWatchRegion_CreateWatchRegion 6 int,sptr #comfunc global IRowsetWatchRegion_ChangeWatchMode 7 sptr,int #comfunc global IRowsetWatchRegion_DeleteWatchRegion 8 sptr #comfunc global IRowsetWatchRegion_GetWatchRegionInfo 9 sptr,sptr,sptr,sptr,sptr,sptr #comfunc global IRowsetWatchRegion_Refresh 10 sptr,sptr #comfunc global IRowsetWatchRegion_ShrinkWatchRegion 11 sptr,sptr,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。