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

ITableData

COM
継承元IUnknown自前メソッド開始 vtbl3

メソッド 9

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

vtbl 3 HRESULT HrGetView(SSortOrderSet* lpSSortOrderSet, CALLERRELEASE* lpfCallerRelease, DWORD ulCallerData, IMAPITable** lppMAPITable)
lpSSortOrderSetSSortOrderSet*inoutビューに適用するソート順を示す SSortOrderSet へのポインタである。
lpfCallerReleaseCALLERRELEASE*inoutビュー解放時に呼び出されるコールバック関数 CALLERRELEASE へのポインタである。
ulCallerDataDWORDinコールバックに渡される呼び出し側定義のデータを指定する。
lppMAPITableIMAPITable**out作成されたテーブルビュー IMAPITable を受け取るポインタである。
vtbl 4 HRESULT HrModifyRow(SRow* param0)
param0SRow*inout追加または更新する行データ SRow へのポインタである。
vtbl 5 HRESULT HrDeleteRow(SPropValue* lpSPropValue)
lpSPropValueSPropValue*inout削除する行を識別するキープロパティ値 SPropValue へのポインタである。
vtbl 6 HRESULT HrQueryRow(SPropValue* lpsPropValue, SRow** lppSRow, DWORD* lpuliRow)
lpsPropValueSPropValue*inout取得する行を識別するキープロパティ値 SPropValue へのポインタである。
lppSRowSRow**inout見つかった行データ SRow を受け取るポインタである。
lpuliRowDWORD*inout見つかった行のインデックスを受け取る変数へのポインタである。
vtbl 7 HRESULT HrEnumRow(DWORD ulRowNumber, SRow** lppSRow)
ulRowNumberDWORDin取得する行の 0 から始まるインデックスを指定する。
lppSRowSRow**inout指定インデックスの行データ SRow を受け取るポインタである。
vtbl 8 HRESULT HrNotify(DWORD ulFlags, DWORD cValues, SPropValue* lpSPropValue)
ulFlagsDWORDin通知動作を制御するフラグを指定する。
cValuesDWORDinlpSPropValue 配列に含まれるプロパティ値の個数を指定する。
lpSPropValueSPropValue*inout通知に含めるプロパティ値の配列 SPropValue へのポインタである。
vtbl 9 HRESULT HrInsertRow(DWORD uliRow, SRow* lpSRow)
uliRowDWORDin行を挿入する位置の 0 から始まるインデックスを指定する。
lpSRowSRow*inout挿入する行データ SRow へのポインタである。
vtbl 10 HRESULT HrModifyRows(DWORD ulFlags, SRowSet* lpSRowSet)
ulFlagsDWORDin行の追加・更新動作を制御するフラグを指定する。
lpSRowSetSRowSet*inout追加または更新する複数行のデータ SRowSet へのポインタである。
vtbl 11 HRESULT HrDeleteRows(DWORD ulFlags, SRowSet* lprowsetToDelete, DWORD* cRowsDeleted)
ulFlagsDWORDin行削除動作を制御するフラグを指定する。
lprowsetToDeleteSRowSet*inout削除する複数行を識別する行集合 SRowSet へのポインタである。
cRowsDeletedDWORD*inout実際に削除された行数を受け取る変数へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_ITableData "{}"
#usecom global ITableData IID_ITableData "{}"
#comfunc global ITableData_HrGetView     3 var,sptr,int,sptr
#comfunc global ITableData_HrModifyRow   4 var
#comfunc global ITableData_HrDeleteRow   5 var
#comfunc global ITableData_HrQueryRow    6 var,var,var
#comfunc global ITableData_HrEnumRow     7 int,var
#comfunc global ITableData_HrNotify      8 int,int,var
#comfunc global ITableData_HrInsertRow   9 int,var
#comfunc global ITableData_HrModifyRows  10 int,var
#comfunc global ITableData_HrDeleteRows  11 int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。