ホーム › System.WindowsSync › ISyncChangeBatchBase2
ISyncChangeBatchBase2
COM公式ドキュメント
ISyncChangeBatchBase オブジェクトの追加機能を表します。
解説(Remarks)
ISyncChangeBatchBase2 オブジェクトは、ISyncChangeBatchBase オブジェクトの QueryInterface メソッドに IID_ISyncChangeBatchBase2 を渡すことで取得できます。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 17 HRESULT SerializeWithOptions(SYNC_SERIALIZATION_VERSION targetFormatVersion, DWORD dwFlags, BYTE* pbBuffer, DWORD* pdwSerializedSize)
指定されたバージョンとシリアル化オプションに基づいて、変更バッチオブジェクトのデータをバイト配列にシリアル化します。
| targetFormatVersion | SYNC_SERIALIZATION_VERSION | in | シリアル化された変更バッチは、このバージョンと互換性を持ちます。 |
| dwFlags | DWORD | in | 予約されています。0 を指定する必要があります。 |
| pbBuffer | BYTE* | inout | 変更バッチオブジェクトのデータは、このバッファーにシリアル化されます。 |
| pdwSerializedSize | DWORD* | inout | pbBuffer のバイト数です。pbBuffer が小さすぎる場合は変更バッチのデータをシリアル化するために必要なバイト数を、それ以外の場合は書き込まれたバイト数を返します。 |
戻り値
戻り値には次の表に示す値が含まれますが、これらに限定されません。
| 戻り値 | 説明 |
|---|---|
| メソッドは成功しました。 | |
| dwFlags が 0 ではないか、targetFormatVersion で指定されたバージョンが変更バッチオブジェクトのデータと互換性がありません。 | |
| 無効なポインターです。 | |
|
pBuffer が小さすぎます。この場合、必要なバイト数が pdwSerializedSize に返されます。 |
|
変更バッチに、開始されたが終了していないグループが含まれています。 |
|
targetFormatVersion の値がオブジェクトのバージョンよりも高いか、オブジェクトに targetFormatVersion と互換性のない要素が含まれています。 |
解説(Remarks)
次の表は、ISyncFilterInfo オブジェクトに関する情報を指定するフラグについて説明しています。
| SYNC_FILTER_INFO_FLAG の値 | 説明 |
|---|---|
| SYNC_FILTER_INFO_FLAG_ITEM_LIST | このフラグは、同期されるアイテムのセットがアイテムフィルターによって制限されていることを示します。 |
| SYNC_FILTER_INFO_FLAG_CHANGE_UNIT_LIST | IChangeUnitListFilterInfo オブジェクトは、変更がスコープに対して定義された変更ユニットのサブセットにのみ適用されることを指定します。 |
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISyncChangeBatchBase2 "{6FDB596A-D755-4584-BD0C-C0C23A548FBF}" #usecom global ISyncChangeBatchBase2 IID_ISyncChangeBatchBase2 "{}" #comfunc global ISyncChangeBatchBase2_SerializeWithOptions 17 int,int,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_ISyncChangeBatchBase2 "{6FDB596A-D755-4584-BD0C-C0C23A548FBF}" #usecom global ISyncChangeBatchBase2 IID_ISyncChangeBatchBase2 "{}" #comfunc global ISyncChangeBatchBase2_SerializeWithOptions 17 int,int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。