3.3.4.4.4.1.1 Common Details for Initial Syncing a File and a Folder
When initial syncing either a file or folder, the upstream partner MUST call the downstream partner through FrsRpcSendCommPkt to send a CMD_REMOTE_CO packet containing a change order. Section COMM_COMMAND Is CMD_JOINED specifies what the downstream partner MUST do when receiving a CMD_REMOTE_CO packet.
The change order MUST be constructed as follows.
SequenceNumber: MUST be a number larger than any previous SequenceNumber in the outbound log.
State: MUST be 0x14. (Request outbound propagation.)
Flags: Specified in sections Initial Syncing a File and Initial Syncing a Folder.
IFlags: Specified in sections Initial Syncing a File and Initial Syncing a Folder.
ContentCmd: Specified in sections Initial Syncing a File and Initial Syncing a Folder.
LocationCmd: Specified in sections Initial Syncing a File and Initial Syncing a Folder.
FileAttributes: File attributes, as specified in [MS-FSCC].
FileVersionNumber: The number of times that this file is closed after being modified. It is used in conflict resolution (see section COMM_COMMAND Is CMD_JOINED).
PartnerAckSeqNumber: MUST be the same as SequenceNumber.
FileSize: File size. For folders, it MUST be 0.<82>
FileOffset: MUST be 0.
FrsVsn: MUST be a volume sequence number for the file.
FileUsn: A 64-bit, unsigned integer that MUST indicate the internal implementation-specific data on the current replica member.
JrnlUsn: A 64-bit, unsigned integer that MUST indicate the internal implementation-specific data on the current replica member.
JrnlFirstUsn: A 64-bit, unsigned integer that MUST indicate the internal implementation-specific data on the current replica member.
OriginalReplicaNum: A 32-bit, unsigned integer that MUST indicate the internal implementation-specific data on the current replica member.
NewReplicaNum: A 32-bit, unsigned integer that MUST indicate the internal implementation-specific data on the current replica member.
ChangeOrderGuid: MUST be the GUID of the change order.
OriginatorGuid: MUST be the originator GUID.
FileGuid: MUST be the file GUID in the IDTable.
OldParentGuid: MUST be the parent GUID.
NewParentGuid: MUST be the parent GUID.
CxtionGuid: MUST be the connection GUID.
AckVersion: MUST be the downstream partner AckVersion. The vendor can set it to any value based on the vendor implementation, or set it to 0 and ignore it.
Extension: MUST be ignored.
EventTime: MUST be the time stamp when the change happened.<83>
FileNameLength: MUST be the byte number of the file name.
FileName: MUST be the file name.
Spare2Ull: MUST be 0.
Spare1GUID: MUST be 0.
Spare2GUID: MUST be 0.
Spare1Wcs: MUST be 0.
Spare2Wcs: MUST be 0.
Spare2Bin: MUST be 0.