IItemMetadata::GetGlobalId

获取项的全局 ID。

HRESULT GetGlobalId(
  BYTE * pbGlobalId,
  ULONG * pcbGlobalId);

参数

  • pbGlobalId
    [in, out, size_is(*pcbGlobalId), unique] 返回项的全局 ID。
  • pcbGlobalId
    [in, out] 指定 pbGlobalId 中的字节数。如果 pbGlobalId 太小,则返回检索全局 ID 所需的字节数;否则返回写入的字节数。

返回值

  • S_OK。

  • 如果尚未设置全局 ID,则返回值为 S_FALSE。

  • E_POINTER。

  • 如果 pbGlobalId 的大小不足以接收字段值,则返回值为 HRESULT_FROM_WIN32(ERROR_MORE_DATA)。在这种情况下,pcbGlobalId 返回必需的字节数。

备注

全局 ID 在整个同步作用域中唯一地标识项。

返回的 ID 格式取决于初始化副本时指定的 ID 格式架构。有关 ID 格式的信息,请参见针对标准提供程序的元数据要求

如果为了设置全局 ID 值而调用了 IItemMetadata::SetGlobalId,但尚未通过调用 IReplicaMetadata::SaveItemMetadata 来保存该变更,则 GetGlobalId 会返回包含在 IItemMetadata 对象中的值,而不会返回存储在元数据存储区中的值。

请参阅

参考

IItemMetadata 接口