REPLCHANGEINFO

This structure is used by the ReplFindNextChange and ReplGetOidStatus functions to return information about one changed object in the object store or in a database volume.

struct REPLCHANGEINFO {
  WORD wVersion;
  WORD wStatus;
  WORD wObjType;
  CEOID oidChanged;
  CEOID oidDbase;
};

Members

  • wVersion
    Version of this structure. Applications should set this value to 1.
  • wStatus
    Status of the changed object. The possible values are as follows.
    Value Description
    REPLSTATUS_UNCHANGED The object has not changed since the previous checkpoint.
    REPLSTATUS_MODIFIED The object was modified in some way by another thread or application. Modifications include creation, a value change, or recreation.
    REPLSTATUS_DELETED The object was deleted.
    REPLSTATUS_CONFLICT The object has been changed outside the synchronization period. The change will be reflected after a future checkpoint.
  • wObjType
    Current type of the object. The possible types are as follows.
    Type Description
    OBJTYPE_FILE The object is a file.
    OBJTYPE_DIRECTORY The object is a directory.
    OBJTYPE_DATABASE The object is a database.
    OBJTYPE_RECORD The object is a database record.
    OBJTYPE_INVALID The object was deleted and no longer has a type.
  • oidChanged
    Object identifier of the object that was changed.
  • oidDbase
    If the object is a record, the object identifier of the database it is in is placed into this argument. If the object is not a record or has been deleted, this member is set to 0.

Remarks

Changes to items may be of several dispositions. An item may be newly created, modified, deleted, or deleted and then recreated. A database record may be recreated inside a different database. An object, such as a database, may be deleted and then recreated as another type of object, such as a file.

The reported type may have changed from the previous time the object was read. A type change reflects the deletion of the first object and the reassignment of the object identifier to a newly created object. Similarly, if the object is a database record, the database the record is in may have changed. Again, the database change reflects the deletion of the first record and reassignment of the object identifier to a new record in a different database.

REPLSTATUS_CONFLICT is used to indicate that an object was changed outside the client's current synchronization period. Typically an item with this status should not be copied during synchronization. Because each checkpoint expands the range of items to be synchronized, after a future checkpoint the object's status will reflect the change that was made to it. Synchronizing an object that has a conflict will result in synchronizing it more than once.

Additional information about the changed object can be obtained from a call to the CeOidGetInfoEx2 function. Even if the reported status is not REPLSTATUS_DELETED, calls to CeOidGetInfoEx2 and other functions may fail. This occurs in a situation where the object is deleted by another application between the call to ReplFindNextChange or ReplGetOidStatus and the call to the unsuccessful function.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Pwindbas.h.

See Also

CeOidGetInfoEx2 | GetOIDSearchID | ReplFindNextChange | ReplGetOidStatus | ReplOpenSync

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.