7 Appendix B: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

 

  • Windows Server 2003 R2 operating system

  • Windows Server 2008 operating system

  • Windows Server 2008 R2 operating system

  • Windows Server 2012 operating system

  • Windows Server 2012 R2 operating system

  • Windows Server 2016 operating system

  • Windows Server operating system

  • Windows Server 2019 operating system

  • Windows Server 2022 operating system 

  • Windows Server 2025 operating system

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 2.1: Windows does not configure any transport-authentication settings. Instead, Windows relies on activation and access security for limiting access to DFS Replication Helper.

<2> Section 2.1: Windows requires that the user account under which the client runs be a member of the administrators group on the server computer on which the Distributed File System: Replication Helper (DFS-R Helper) Protocol is running for it to be able to configure DFS-R and monitor the state of the DFS-R service on the computer.

<3> Section 2.1: The IADProxy and IADProxy2 interfaces require the caller to be a member of the administrators security group on the server for both launch and access. Access to the IServerHealthReport and IServerHealthReport2 interfaces is not restricted. However, the implementations of IServerHealthReport and IServerHealthReport2 use the client credentials to access health data of the DFS-R service. Only members of the administrators security group on the server have access to the health data of DFS-R. Therefore, the IServerHealthReport relies on the DFS-R service to make the necessary security checks.

<4> Section 2.2.1.5.2: The format of the systemTime element is {the name, in text, of the day of the week} + " ," + {the name, in text, of the month} + " " + {the day, in numerals, of the month} + "," + {the year, in numerals} + "," + {the hour, in numerals, using time as represented by a 24-hour clock} + ":" + {the minutes, in numerals} + ":" + {the seconds, in numerals; for example: Monday, January 30, 2006, 20:51:44}.

<5> Section 2.2.1.5.3: Windows-based server implementations format paths in the format {drive letter} + ":" + "\" + {path on disk}.

<6> Section 2.2.1.5.4: The Windows Server DFS Replication Helper protocol implementation does not calculate the actual sizes. The files sizes are read from WMI performance counters on the target server. These performance counters are being updated by the Windows DFS Replication service implementation.

<7> Section 2.2.1.5.4: The Windows Server DFS Replication Helper protocol implementation does not calculate the actual sizes. The files sizes are read from WMI performance counters on the target server. These performance counters are being updated by the Windows DFS Replication service implementation.

<8> Section 2.2.1.5.5: A Windows-based client uses the IServerHealthReport::GetReferenceVersionVectors method to get the version vector from another server.

<9> Section 2.2.1.5.5: A Windows-based client uses the IServerHealthReport::GetReferenceVersionVectors method to get the version vector from another server.

<10> Section 2.2.1.5.6: The DFS Replication Helper server always sets this field to 0.

<11> Section 2.2.1.5.6: Windows-based server implementations populate the timestamp field with the actual file timestamp.

<12> Section 2.2.1.5.7:

The DFS-R  service excludes the following files from replication:

  • Files that have a temporary flag.

  • Specific types of reparse points that are not supported by DFS-R.  (Supported and unsupported reparse points are specified in [MS-FRS2].)

  • Encrypted files.

<13> Section 2.2.1.5.8: For folders where the value of the status field is "6" (disabled replicated folders), the server does not include any folder elements.

For folders that have any other status, the DFS Replication Helper server adds exactly three folder elements: one "root", one "staging", and one "conflict".

<14> Section 2.2.1.5.8: In Windows Server 2003 R2 and Windows Server 2008 operating system, DFS-R accesses files on the basis of NTFS semantics. This implies respecting NTFS-sharing semantics, which then means that if other applications have files open—effectively denying shared-read access—DFS-R cannot read these files from disk. Similarly, if applications have files open, thereby denying shared delete access, DFS-R cannot update these files.

<15> Section 2.2.1.5.9: The version of the dfsr.exe binary (for example, 5.2.3790.1830). This is the same as the version number of the Windows operating system.

<16> Section 2.2.1.5.10: This is the version number of the DFSRHelper.dll binary that is installed on the server.

<17> Section 2.2.1.5.11: Windows puts the FQDN of the domain in the domain attribute.

<18> Section 2.2.1.5.12:  The value of journalSize is USN journal size. Windows tracks changes on the volume in the USN journal.

<19> Section 2.2.1.5.12: In Windows-based server implementations, the drive letter is in the format {the drive letter} + ":" or the path of the volume mount point, in the format {the drive letter} + ":" + "\" + {the path on disk}.

<20> Section 2.2.1.5.12: The value of this field is the volume GUID.

<21> Section 2.2.1.5.12: The value of this field is the volume label.

<22> Section 2.2.1.5.17: In Windows-based server implementations, all error messages that are specified in this section (except the EVENT_DFSR_CONFIG_VOLUME_NOT_SUPPORTED and EVENT_DFSR_CONFIG_VOLUME_CONSISTENCY_CHECK_FAILED error messages) are detected and reported by the DFS Replication Helper server. However, in DFSR Windows-based server implementation, event 1004 acts as a global anti-event for all messages, and as such, only messages logged after the last instance of this event are reported.

<23> Section 2.2.1.5.17: The return code of a failed operation is used as the error code, and the verbose string that describes the operation failure is used as the error string. The error string is in the language of the operating system that is installed on the server; regional language settings are not taken into consideration.

<24> Section 2.2.1.5.17: The values of the error parameters correspond to the specification provided. The error description that is specified for each error corresponds to the event text that is put in the event log when that error is encountered.

<25> Section 2.2.1.5.17.1: By default, the service is restarted by the service control manager. An administrator can configure the DFS Replication service to not restart automatically. The service will restart automatically if configured to do so.

<26> Section 2.2.1.5.17.3: In Windows Server 2008 R2 operating system and later, the event EVENT_DFSR_SERVICE_FAILED_PROCESSING_RESTORE_VOLUME_LIST is not generated or reported by DFSR and DFSRH implementations.

<27> Section 2.2.1.5.17.9: In Windows-based DFS-R implementations, this error is returned if the DFS-R service detects an NTFS change journal wrap on the volume.

<28> Section 2.2.1.5.17.10: In Windows-based DFS-R implementations, the error string that is returned by the Windows-based DFS-R database implementation.

<29> Section 2.2.1.5.17.11: This error is returned if the DFS Replication service detects an NTFS change journal (USN Journal) loss on the volume.

<30> Section 2.2.1.5.17.12: This error is returned if the DFS Replication service fails to recover from an NTFS change journal (USN Journal) wrap or loss on the volume.

<31> Section 2.2.1.5.17.15: Windows-based server implementations report this error only if the number of its occurrences is equal or greater than 20.

<32> Section 2.2.1.5.17.15: The value of the high-water mark equals 90 percent of the configured size of the staging folder. The value of the low-water mark equals 60 percent of the configured size of the staging folder. The cleanup process for the staging space is triggered when the high-water mark is met for the staging folder. The cleanup process continues to delete staging files on the basis of their last access time until the low-water mark is reached.

<33> Section 2.2.1.5.17.17: Windows-based server implementations report this error only if the number of its occurrences is equal or greater than 10.

<34> Section 2.2.1.5.17.20: In Windows-based server implementations this message is reported as EVENT_DFSR_CS_SHARING_VIOLATION_LOCAL Message. If both EVENT_DFSR_CS_SHARING_VIOLATION_LOCAL and EVENT_DFSR_CS_SHARING_VIOLATION_SERVING are detected for the same replicated folder, only one instance is reported.

<35> Section 2.2.1.5.17.22: This error is raised when the file is encrypted by using the Encrypting File System (EFS) in a replicated folder. This file will not be replicated because the replication of files encrypted by EFS is not supported by the DFS Replication service.

<36> Section 2.2.1.5.17.32: In Windows-based server implementations, the configuration source name is represented by the name of a computer running LDAP service that was used as the last configuration source.

<37> Section 2.2.1.5.17.33: In Windows-based server implementations, the configuration source name is represented by the name of a computer running LDAP service that was used as the last configuration source.

<38> Section 2.2.1.5.17.35: The polling cycle is able to be set in the configuration for DFS-R and has a default value of 60. Valid values are from 1 minute to 596.5 hours.

<39> Section 2.2.1.5.17.37: Windows requires that the volume be a non-removable volume that is formatted by using NTFS.

<40> Section 3.1.3: A server that is running Windows Server 2003 R2 operating system and later and the DFS-R Helper Protocol verifies that the calling user account is in the administrators group on that server computer. Windows 2000 operating system, Windows Server 2003 operating system (other than R2), and client operating systems such as Windows XP operating system and Windows Vista operating system do not support the DFS-R Helper Protocol.

<41> Section 3.1.5.1: The IADProxy (section 3.1.5.2) and IServerHealthReport (section 3.1.5.4) interfaces are available on Windows Server 2003 R2 operating system and later.

The IADProxy2 (section 3.1.5.3) interface is available on Windows Server 2008 operating system and later.

The IServerHealthReport2 (section 3.1.5.5) interface is available on Windows Server 2008 R2                                            operating system and later.

Windows-based server clusters running Windows Server 2008 operating system and later require the use of the IADProxy2 interface. Non-clustered Windows-based servers can optionally use either IADProxy (section 3.1.5.2) or IADProxy2.

<42> Section 3.1.5.2: Windows-based server implementations call several Windows APIs and return the error codes returned by these APIs.

<43> Section 3.1.5.2.1: A Windows-based client uses this method only to create the DFS Replication configuration objects that are specified in [MS-FRS2] section 2.3.5.

<44> Section 3.1.5.2.1: In Windows-based server implementations the sufficient rights check is performed by WindowsDCOM security.

<45> Section 3.1.5.2.1: Return standard Windows HRESULTs and Windows errors mapped for HRESULT (the specific returned code is 0x80042002).

<46> Section 3.1.5.2.2: A Windows-based client uses this method only to delete the DFS Replication configuration objects that are specified in [MS-FRS2] section 2.3.5.

<47> Section 3.1.5.2.2: In Windows-based server implementations the sufficient rights check is performed by Windows DCOM security.

<48> Section 3.1.5.2.3: A Windows-based client uses this method only to modify the DFS Replication configuration objects that are specified in [MS-FRS2] section 2.3.5.

<49> Section 3.1.5.2.3: A Windows-based client only specifies distinguished names of DFS Replication configuration objects that are specified in [MS-FRS2] section 2.3.5.

<50> Section 3.1.5.2.3: In Windows-based server implementations the sufficient rights check is performed by Windows DCOM security.

<51> Section 3.1.5.3: Windows-based server implementations call several Windows APIs and return the error codes returned by these APIs.

<52> Section 3.1.5.3.1: A Windows-based client uses this method only to create the DFS Replication configuration objects that are specified in [MS-FRS2] section 2.3.5.

<53> Section 3.1.5.3.1: A Windows-based client only specifies distinguished names of DFS Replication configuration objects that are specified in [MS-FRS2] section 2.3.5.

<54> Section 3.1.5.3.2: A Windows-based client uses this method only to delete the DFS Replication configuration objects that are specified in [MS-FRS2] section 2.3.5.

<55> Section 3.1.5.3.2: A Windows-based client only specifies distinguished names of DFS Replication configuration objects that are specified in [MS-FRS2] section 2.3.5.

<56> Section 3.1.5.3.3: A Windows-based client uses this method only to modify the DFS Replication configuration objects that are specified in [MS-FRS2] section 2.3.5.

<57> Section 3.1.5.3.3: A Windows-based client only specifies distinguished names of DFS Replication configuration objects that are specified in [MS-FRS2] section 2.3.5.

<58> Section 3.1.5.4.1: Return the standard Windows HRESULT and Windows errors mapped for HRESULT (the specific code returned is 0x80070057).

<59> Section 3.1.5.4.1: The server running the DFS-R Helper Protocol in Windows tries to recover from errors and proceeds with collecting other pieces of diagnostic information. The server excludes from the report all health parameters it was unable to collect.

  • The server saves the report XML in the reportXML output parameter.

  • The server returns a response to the client. The response contains the output parameters previously mentioned and also the status of the operation.

<60> Section 3.1.5.4.3:  The GetRawReportEx method is not implemented in any version of the DFS-R Helper Protocol.

<61> Section 3.1.5.4.4: If the replicationGroupGuid parameter is not a valid replication group, Windows-based server implementations return S_OK as the method result.

<62> Section 3.1.5.4.5: Windows-based servers return S_OK as the overall method result even if the server fails to retrieve a backlog count.

<63> Section 5: The server verifies that the caller is a member of the administrators group for that server.