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

IScopedOperations

COM
IID0c733ab0-2a1c-11ce-ade5-00aa0044773d継承元IBindResource自前メソッド開始 vtbl4

メソッド 4

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

vtbl 4 HRESULT Copy(UINT_PTR cRows, LPWSTR* rgpwszSourceURLs, LPWSTR* rgpwszDestURLs, DWORD dwCopyFlags, IAuthenticate* pAuthenticate, DWORD* rgdwStatus, LPWSTR* rgpwszNewURLs, WORD** ppStringsBuffer)
cRowsUINT_PTRinコピーする URL の個数を指定する。
rgpwszSourceURLsLPWSTR*inoptionalコピー元の URL 文字列の配列を指定する。
rgpwszDestURLsLPWSTR*inコピー先の URL 文字列の配列を指定する。
dwCopyFlagsDWORDinコピー動作を制御する DBCOPYFLAGS フラグを指定する。
pAuthenticateIAuthenticate*inoptional認証情報を提供する IAuthenticate インターフェイスへのポインタである。不要な場合は NULL を指定する。
rgdwStatusDWORD*out各コピー操作の結果状態を受け取る DWORD 配列である。
rgpwszNewURLsLPWSTR*outoptionalコピー後に実際に割り当てられた各 URL を受け取る配列である。
ppStringsBufferWORD**outoptionalrgpwszNewURLs が参照する文字列群を格納したバッファを受け取る出力ポインタである。呼び出し側が解放する。
vtbl 5 HRESULT Move(UINT_PTR cRows, LPWSTR* rgpwszSourceURLs, LPWSTR* rgpwszDestURLs, DWORD dwMoveFlags, IAuthenticate* pAuthenticate, DWORD* rgdwStatus, LPWSTR* rgpwszNewURLs, WORD** ppStringsBuffer)
cRowsUINT_PTRin移動する URL の個数を指定する。
rgpwszSourceURLsLPWSTR*inoptional移動元の URL 文字列の配列を指定する。
rgpwszDestURLsLPWSTR*in移動先の URL 文字列の配列を指定する。
dwMoveFlagsDWORDin移動動作を制御する DBMOVEFLAGS フラグを指定する。
pAuthenticateIAuthenticate*inoptional認証情報を提供する IAuthenticate インターフェイスへのポインタである。不要な場合は NULL を指定する。
rgdwStatusDWORD*out各移動操作の結果状態を受け取る DWORD 配列である。
rgpwszNewURLsLPWSTR*outoptional移動後に実際に割り当てられた各 URL を受け取る配列である。
ppStringsBufferWORD**outoptionalrgpwszNewURLs が参照する文字列群を格納したバッファを受け取る出力ポインタである。呼び出し側が解放する。
vtbl 6 HRESULT Delete(UINT_PTR cRows, LPWSTR* rgpwszURLs, DWORD dwDeleteFlags, DWORD* rgdwStatus)
cRowsUINT_PTRin削除する URL の個数を指定する。
rgpwszURLsLPWSTR*in削除対象の URL 文字列の配列を指定する。
dwDeleteFlagsDWORDin削除動作を制御する DBDELETEFLAGS フラグを指定する。
rgdwStatusDWORD*out各削除操作の結果状態を受け取る DWORD 配列である。
vtbl 7 HRESULT OpenRowset(IUnknown* pUnkOuter, DBID* pTableID, DBID* pIndexID, GUID* riid, DWORD cPropertySets, DBPROPSET* rgPropertySets, IUnknown** ppRowset)
pUnkOuterIUnknown*inoptionalアグリゲーションを行う場合の制御側 IUnknown へのポインタである。アグリゲートしない場合は NULL を指定する。
pTableIDDBID*inoptional開くテーブルを識別する DBID へのポインタである。
pIndexIDDBID*inoptional使用するインデックスを識別する DBID へのポインタである。インデックスを指定しない場合は NULL を指定する。
riidGUID*in返すロウセットのインターフェイスを識別する GUID(IID)へのポインタである。
cPropertySetsDWORDinrgPropertySets に含まれるプロパティセットの個数を指定する。
rgPropertySetsDBPROPSET*inoutロウセットに設定するプロパティを記述する DBPROPSET 配列を指定する。
ppRowsetIUnknown**outoptional開かれたロウセットの riid で指定したインターフェイスポインタを受け取る出力ポインタである。

HSP用 COM定義

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

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