ISyncKnowledge2::SerializeWithOptions 方法 (winsync.h)

根据指定的版本和序列化选项,将知识对象数据序列化为字节数组。

语法

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

参数

[in] targetFormatVersion

序列化的知识与此版本兼容。

[in] dwFlags

指定有关如何序列化对象的其他信息的选项。 必须为零或 由SYNC_SERIALIZE 标志指定的值的组合 (请参阅备注) 。 指定零时,副本 (replica) 键映射不会作为序列化知识数据的一部分包含在内。

[in, out] pbBuffer

序列化的知识对象数据将序列化到此缓冲区。

[in, out] pdwSerializedSize

指定 pBuffer 中的字节数。 返回 pBuffer 太小时序列化知识数据所需的字节数,或写入的字节数。

返回值

可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
S_OK
方法成功。
E_POINTER
无效指针。
HRESULT_FROM_WIN32 (ERROR_MORE_DATA)
pBuffer 太小了。 在这种情况下,将在 pdwSerializedSize 中返回所需的字节数。
SYNC_E_INVALID_VERSION
targetFormatVersion 的值高于对象的版本,或者对象包含与 targetFormatVersion 不兼容的元素。

注解

注意SYNC_SERIALIZE标志的定义如下:#define SYNC_SERIALIZE_REPLICA_KEY_MAP 0x00000001

值SYNC_SERIALIZE_REPLICA_KEY_MAP指示副本 (replica) 键映射包含在序列化的知识数据中。

为标志指定 SYNC_SERIALIZE_REPLICA_KEY_MAP 时, IReplicaKeyMap 对象与知识数据一起序列化。 如果未指定此标志,则必须以某种其他方式存储 IReplicaKeyMap 数据,以便可以反序列化知识对象。

targetFormatVersion 的值确定序列化知识数据的格式,并引用 Microsoft Sync Framework 的版本。 有关使用 Microsoft Sync Framework 生成同步提供程序所涉及的概述,请参阅 生成同步提供程序的选项

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 winsync.h

另请参阅

IReplicaKeyMap 接口

ISyncKnowledge 接口

ISyncKnowledge2 接口

用于生成同步提供程序的选项