ISyncChangeBatchBase2::SerializeWithOptions method (winsync.h)

Serializes the change batch object data to a byte array, based on the specified version and serialization options.

Syntax

HRESULT SerializeWithOptions(
  [in]      SYNC_SERIALIZATION_VERSION targetFormatVersion,
  [in]      DWORD                      dwFlags,
  [in, out] BYTE                       *pbBuffer,
  [in, out] DWORD                      *pdwSerializedSize
);

Parameters

[in] targetFormatVersion

The serialized change batch is compatible with this version.

[in] dwFlags

Reserved. Must be zero.

[in, out] pbBuffer

The serialized change batch object data is serialized to this buffer.

[in, out] pdwSerializedSize

The number of bytes in pbBuffer. Returns either the number of bytes that are required to serialize the change batch data when pbBuffer is too small, or the number of bytes written.

Return value

The possible return codes include, but are not limited to, the values shown in the following table.

Return code Description
S_OK
The method succeeded.
E_INVALIDARG
dwFlags is not zero, or the version that is specified by targetFormatVersion is incompatible with the change batch object data.
E_OUTOFMEMORY
E_POINTER
Invalid pointer.
HRESULT_FROM_WIN32(ERROR_MORE_DATA)
pBuffer is too small. In this situation, the required number of bytes is returned in pdwSerializedSize.
SYNC_E_INVALID_OPERATION
The change batch contains a group that was started but not ended.
SYNC_E_INVALID_VERSION
The value of targetFormatVersion is higher than the version of the object, or the object contains elements that are not compatible with targetFormatVersion.

Remarks

The following table describes the flags that specify information about an ISyncFilterInfo object.

SYNC_FILTER_INFO_FLAG value Description
SYNC_FILTER_INFO_FLAG_ITEM_LIST This flag indicates that the set of items synchronized is restricted by an item filter.
SYNC_FILTER_INFO_FLAG_CHANGE_UNIT_LIST An IChangeUnitListFilterInfo object specifies that changes apply only to a subset of the change units that are defined for the scope.

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header winsync.h

See also

ISyncChangeBatchBase Interface

ISyncChangeBatchBase2 Interface

ISyncFilterInfo Interface

ISyncKnowledge Interface

ISyncKnowledge2 Interface

SyncSerializationVersion Enumeration