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

ISyncFilterInfo

COM
IID794eaaf8-3f2e-47e6-9728-17e6fcf94cb7継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ISyncChangeBatch オブジェクトに含めるデータを制御するために使用されるフィルターに関する情報を表します。

解説(Remarks)

プロバイダーが作成した変更バッチの内容をフィルター処理する場合は、フィルター処理された ISyncChangeBatch オブジェクトを作成する必要があります。フィルター処理された変更バッチオブジェクトには、変更バッチの内容がどのようにフィルター処理されたかを示す ISyncFilterInfo オブジェクトが含まれます。

メソッド 1

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

vtbl 3 HRESULT Serialize(BYTE* pbBuffer, DWORD* pcbBuffer)

フィルターのデータをバイト配列にシリアル化します。

pbBufferBYTE*inoutシリアル化されたフィルター情報を返します。バッファーに必要なサイズを取得するには、この値に NULL を設定します。
pcbBufferDWORD*inoutpbBuffer のバイト数を指定します。pcbBuffer が小さすぎる場合はフィルターのシリアル化に必要なバイト数を、それ以外の場合は書き込まれたバイト数を返します。

戻り値

戻り値には、次の表に示す値が含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
0x800700EA (HRESULT_FROM_WIN32(ERROR_MORE_DATA))
pbBufferNULL であるか、pcbBuffer が小さすぎます。この場合、フィルターのシリアル化に必要なバイト数が pcbBuffer に返されます。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_ISyncFilterInfo "{794EAAF8-3F2E-47E6-9728-17E6FCF94CB7}"
#usecom global ISyncFilterInfo IID_ISyncFilterInfo "{}"
#comfunc global ISyncFilterInfo_Serialize  3 var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。