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

IRowsetScroll

COM
IID0c733a7e-2a1c-11ce-ade5-00aa0044773d継承元IRowsetLocate自前メソッド開始 vtbl12

メソッド 2

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

vtbl 12 HRESULT GetApproximatePosition(UINT_PTR hReserved, UINT_PTR cbBookmark, BYTE* pBookmark, UINT_PTR* pulPosition, UINT_PTR* pcRows)
hReservedUINT_PTRinチャプターのハンドルを指定する。チャプターをサポートしない場合は 0 を指定する。
cbBookmarkUINT_PTRinpBookmark が指すブックマークのサイズ(バイト数)を指定する。位置のみを取得する場合は 0 を指定できる。
pBookmarkBYTE*in位置を求める対象の行を指すブックマークを格納したバッファへのポインタである。NULL を指定できる。
pulPositionUINT_PTR*outブックマークが指す行のロウセット内における概算位置を受け取る。不要な場合は NULL を指定できる。
pcRowsUINT_PTR*outロウセット内の総行数(概算)を受け取る。不要な場合は NULL を指定できる。
vtbl 13 HRESULT GetRowsAtRatio(UINT_PTR hReserved1, UINT_PTR hReserved2, UINT_PTR ulNumerator, UINT_PTR ulDenominator, INT_PTR cRows, UINT_PTR* pcRowsObtained, UINT_PTR** prghRows)
hReserved1UINT_PTRinチャプターのハンドルを指定する。チャプターをサポートしない場合は 0 を指定する。
hReserved2UINT_PTRin予約済みであり、0 を指定する。
ulNumeratorUINT_PTRinフェッチ開始位置を表す比率の分子を指定する。
ulDenominatorUINT_PTRinフェッチ開始位置を表す比率の分母を指定する。
cRowsINT_PTRin取得する行数を指定する。負の値は逆方向への取得を表す。
pcRowsObtainedUINT_PTR*out実際に取得された行数を受け取る。
prghRowsUINT_PTR**out取得した行のハンドル配列へのポインタを受け取る。配列はプロバイダーが割り当てる。

HSP用 COM定義

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

出力引数:
#define global IID_IRowsetScroll "{0C733A7E-2A1C-11CE-ADE5-00AA0044773D}"
#usecom global IRowsetScroll IID_IRowsetScroll "{}"
#comfunc global IRowsetScroll_GetApproximatePosition  12 sptr,sptr,var,var,var
#comfunc global IRowsetScroll_GetRowsAtRatio          13 sptr,sptr,sptr,sptr,sptr,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。