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 对象中的值,而不会返回存储在元数据存储区中的值。