2.2.14 TRKSVR_SYNC_VOLUME

The TRKSVR_SYNC_VOLUME structure is used as an array in calls to the LnkSvrMessage method that specifies a SYNC_VOLUMES message (see section 2.2.11), which in turn synchronizes volume information between the client and the server. Each TRKSVR_SYNC_VOLUME structure is termed a subrequest in this protocol specification.

 typedef struct {
   HRESULT hr;
   TRKSVR_SYNC_TYPE SyncType;
   CVolumeId volume;
   CVolumeSecret secret;
   CVolumeSecret secretOld;
   SequenceNumber seq;
   FILETIME ftLastRefresh;
   CMachineId machine;
 } TRKSVR_SYNC_VOLUME;

hr: A return value that indicates the success or failure of this TRKSVR_SYNC_VOLUME subrequest. The type of this field is an HRESULT, but unlike the standard definition, for this field, only zero is a successful return value. Except where otherwise specified, this value MUST NOT be TRK_E_VOLUME_QUOTA_EXCEEDED, which is defined in section 3.1.4.1. Any other nonzero value MUST be treated identically as a failure value.

SyncType: This indicates the type of synchronization request. Valid values are specified in section 2.2.13.

volume: The VolumeID to be synchronized. Whether this field is used depends on the SyncType value. For details, see sections 3.2.6.5 and 3.1.4.4. The CVolumeId type is as specified in [MS-DLTW] section 2.2.4.

secret: The new VolumeSecret to be used for this VolumeID. Whether this field is used depends on the SyncType value. For details, see sections 3.2.6.5 and 3.1.4.4.

secretOld: A VolumeSecret that is used to authenticate a VolumeOwner. Whether this field is used depends on the SyncType value. For details, see sections 3.2.6.5 and 3.1.4.4.

seq: A VolumeSequenceNumber that is used for synchronization of move notifications, as specified in section 3.1.4.2. Whether this field is used depends on the SyncType value. For details, see sections 3.2.6.5 and 3.1.4.4.

ftLastRefresh: The last time the server received a REFRESH notification from a client. Whether this field is used depends on the SyncType value. For details, see sections 3.2.6.5 and 3.1.4.4.

machine: A MachineID of a VolumeOwner. This VolumeOwner is the VolumeOwner for the VolumeID specified in the volume field. Whether this field is used depends on the SyncType value. For details, see sections 3.2.6.5 and 3.1.4.4; the CMachineId type is as specified in [MS-DLTW] section 2.2.2.