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

IRowsetIndex

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

メソッド 3

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

vtbl 3 HRESULT GetIndexInfo(UINT_PTR* pcKeyColumns, DBINDEXCOLUMNDESC** prgIndexColumnDesc, DWORD* pcIndexPropertySets, DBPROPSET** prgIndexPropertySets)
pcKeyColumnsUINT_PTR*inoutインデックスを構成するキー列の個数を受け取る。
prgIndexColumnDescDBINDEXCOLUMNDESC**outインデックスの各キー列を記述する DBINDEXCOLUMNDESC 構造体配列へのポインタを受け取る。配列はプロバイダーが割り当てる。
pcIndexPropertySetsDWORD*inout返されるインデックスプロパティセットの個数を受け取る。
prgIndexPropertySetsDBPROPSET**outインデックスのプロパティを含む DBPROPSET 構造体配列へのポインタを受け取る。配列はプロバイダーが割り当てる。
vtbl 4 HRESULT Seek(HACCESSOR hAccessor, UINT_PTR cKeyValues, void* pData, DWORD dwSeekOptions)
hAccessorHACCESSORinキー値の構成を記述するアクセサーのハンドルを指定する。
cKeyValuesUINT_PTRinpData に含まれるキー値の個数を指定する。
pDatavoid*inシーク対象のキー値を格納したバッファへのポインタである。
dwSeekOptionsDWORDinシーク動作を制御するオプション(完全一致、以上、以下など)を指定するフラグである。
vtbl 5 HRESULT SetRange(HACCESSOR hAccessor, UINT_PTR cStartKeyColumns, void* pStartData, UINT_PTR cEndKeyColumns, void* pEndData, DWORD dwRangeOptions)
hAccessorHACCESSORinキー値の構成を記述するアクセサーのハンドルを指定する。
cStartKeyColumnsUINT_PTRinpStartData に含まれる範囲開始キー列の個数を指定する。
pStartDatavoid*in範囲の開始境界となるキー値を格納したバッファへのポインタである。
cEndKeyColumnsUINT_PTRinpEndData に含まれる範囲終了キー列の個数を指定する。
pEndDatavoid*in範囲の終了境界となるキー値を格納したバッファへのポインタである。
dwRangeOptionsDWORDin範囲設定の動作を制御するオプション(境界を含むか除くかなど)を指定するフラグである。

HSP用 COM定義

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

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