ISyncFilter::Serialize
派生クラスによってオーバーライドされた場合は、フィルターをバイト配列にシリアル化します。
構文
HRESULT Serialize(
BYTE * pbSyncFilter,
DWORD * pcbSyncFilter);
パラメーター
pbSyncFilter
[in, out, unique, size_is(*pcbSyncFilter)] フィルター データを受け取るバイト配列です。pcbSyncFilter
[in, out] pbSyncFilter のバイト数を指定します。pbSyncFilter が小さすぎる場合は、pbSyncFilter で必要となるバイト数を返します。データが書き込まれている場合は、pbSyncFilter に書き込まれたバイト数を返します。
戻り値
S_OK
HRESULT_FROM_WIN32(ERROR_MORE_DATA) (pbChangeBatch が小さすぎる場合。この場合、必要なバイト数が pcbChangeBatch に格納されます。)
プロバイダーが決定したエラー コード
説明
Sync Framework が初めてこのメソッドを呼び出すときは、pbSyncFilter に NULL、pcbSyncFilter に 0 が指定されます。この場合、実装によって pcbSyncFilter の項目 ID の適切なサイズと HRESULT_FROM_WIN32(ERROR_MORE_DATA) のエラー コードを返す必要があります。
このメソッドを実装した場合、開発者は、シリアル化されたデータのシリアル化を解除するために ISyncFilterDeserializer::DeserializeSyncFilter も実装する必要があります。
フィルターのシリアル化が不要な場合は、このメソッドから E_NOTIMPL が返される場合があります。