次の方法で共有


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 が返される場合があります。

関連項目

その他の技術情報

ISyncFilter インターフェイス