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

IReadData

COM
IID0c733a6a-2a1c-11ce-ade5-00aa0044773d継承元IUnknown自前メソッド開始 vtbl3

メソッド 2

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

vtbl 3 HRESULT ReadData(UINT_PTR hChapter, UINT_PTR cbBookmark, BYTE* pBookmark, INT_PTR lRowsOffset, HACCESSOR hAccessor, INT_PTR cRows, UINT_PTR* pcRowsObtained, BYTE** ppFixedData, UINT_PTR* pcbVariableTotal, BYTE** ppVariableData)
hChapterUINT_PTRin読み取り対象のチャプタのハンドルを指定する。チャプタを使用しない場合は DB_NULL_HCHAPTER を指定する。
cbBookmarkUINT_PTRinpBookmark が指すブックマークのバイト数を指定する。
pBookmarkBYTE*in読み取り開始位置の基準となるブックマークへのポインタである。
lRowsOffsetINT_PTRinブックマークからの相対的な行オフセットを指定する。
hAccessorHACCESSORin読み取るデータのバインディングを記述するアクセサのハンドルを指定する。
cRowsINT_PTRin読み取る行数を指定する。負値は逆方向への読み取りを意味する。
pcRowsObtainedUINT_PTR*out実際に読み取られた行数を受け取るポインタである。
ppFixedDataBYTE**inout固定長データを格納したバッファを受け取るポインタである。
pcbVariableTotalUINT_PTR*inout可変長データの合計バイト数を受け取るポインタである。
ppVariableDataBYTE**inout可変長データを格納したバッファを受け取るポインタである。
vtbl 4 HRESULT ReleaseChapter(UINT_PTR hChapter)
hChapterUINT_PTRin解放するチャプタのハンドルを指定する。

HSP用 COM定義

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

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