6 Appendix A: 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 NT Workstation 4.0 operating system

  • Windows NT Server 4.0 operating system

  • Windows 98 operating system

  • Windows 2000 operating system

  • Windows Millennium Edition operating system

  • Windows XP operating system

  • Windows Server 2003 operating system

  • Windows Vista operating system

  • Windows Server 2008 operating system

  • Windows 7 operating system

  • Windows Server 2008 R2 operating system

  • Windows 8 operating system

  • Windows Server 2012 operating system

  • Windows 8.1 operating system

  • Windows Server 2012 R2 operating system

  • Windows 10 operating system 

  • Windows Server 2016 operating system

  • Windows Server operating system

  • Windows Server 2019 operating system

  • Windows Server 2022 operating system

  • Windows 11 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 1.8: Windows uses only the values specified in [MS-ERREF].

<2> Section 2.2.4: Windows NT Server 4.0, Windows 2000, and Windows Server 2003 insert a variable number of padding bytes.

<3> Section 2.2.5.3.2: Windows 2000 Server operating system and Windows Server 2003 will add 16 bytes of padding after DFS_REFERRAL_V3 structures in all namelist referral responses. Windows Server 2008 and Windows Server 2008 R2 will add 16 bytes of padding for DFS_REFERRAL_V3 structures in DC referral responses.

<4> Section 3.1.1: The default TimeToLive value for root referrals is 300 seconds and the default TimeToLive value for link referrals is 1,800 seconds.

<5> Section 3.1.3: Windows clients (Windows 2000 operating system and later, Windows XP operating system and later) use 15 minutes as the default BootstrapDCTimer period. The interval is configurable in Windows by the HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\System\DFSClient\DfsDcNameDelay registry setting.

<6> Section 3.1.4.1: The Windows client returns STATUS_MORE_PROCESSING_REQUIRED to the calling application to indicate that the path does not correspond to a DFS Namespace or a SYSVOL/NETLOGON share, and that the I/O operation is not complete.

<7> Section 3.1.4.2: Windows 8 operating system and later, Windows Server 2012 operating system and later verify the value of UseDcLocatorSiteName under the following registry key. If the value is 1, the test returns TRUE; otherwise, it returns FALSE:

HKLM\SYSTEM\CurrentControlSet\Services\ DfsC\Parameters

All other versions of Windows always return FALSE for this test.

<8> Section 3.1.4.2: Windows 8 and later clients obtain the site name from the SiteName registry value under the following registry key:

HKLM\SYSTEM\CurrentControlSet\Services\ Netlogon\Parameters

<9> Section 3.1.5.1: Except for Windows Millennium Edition, DFS link referral requests to the DFS root target server are issued by all Windows operating systems. Windows 98 DFS clients issue DFS link referral requests to DCs when accessing a domain-based DFS namespace.

<10> Section 3.1.5.2: If an I/O operation to a target fails with one of the following error codes, as specified per version of Windows, the client proceeds to the next target.  Unless otherwise noted, the code is used in Windows NT 4.0 operating system Service Pack 2 (SP2), Windows 2000 operating system and later, Windows XP operating system and later.

Status Code

Support Notes

STATUS_BAD_NETWORK_NAME

STATUS_BAD_NETWORK_PATH

STATUS_CONNECTION_DISCONNECTED

Not used in Windows NT 4.0 SP2.

STATUS_CONNECTION_REFUSED

Used in Windows Vista operating system and later, Windows Server 2008 operating system and later.

STATUS_CONNECTION_RESET

Used in Windows 7 operating system and later, Windows Server 2008 R2 operating system and later.

STATUS_DEVICE_OFF_LINE

STATUS_DFS_UNAVAILABLE

Not used in Windows NT 4.0 SP2.

STATUS_DISK_OPERATION_FAILED

STATUS_DUPLICATE_NAME

Used in Windows Vista operating system and later, Windows Server 2008 operating system and later.

STATUS_FS_DRIVER_REQUIRED

Used in Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012.

STATUS_HOST_UNREACHABLE

Used in Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2, Windows 8, and Windows Server 2012.

STATUS_INSUFFICIENT_RESOURCES

Not used in Windows NT 4.0 SP2.

STATUS_INVALID_NETWORK_RESPONSE

STATUS_IO_REPARSE_TAG_NOT_HANDLED

Used in Windows 7 operating system and later, Windows Server 2008 R2 operating system and later.

STATUS_IO_TIMEOUT

STATUS_NETLOGON_NOT_STARTED

Not used in Windows NT 4.0 SP2.

STATUS_NETWORK_BUSY

STATUS_NETWORK_NAME_DELETED

STATUS_NETWORK_UNREACHABLE

Not used in Windows NT 4.0 SP2.

STATUS_NO_SUCH_DEVICE

STATUS_NO_SUCH_LOGON_SESSION

Not used in Windows NT 4.0 SP2, Windows 2000, and Windows XP RTM.

STATUS_REMOTE_NOT_LISTENING

STATUS_REQUEST_NOT_ACCEPTED

STATUS_SHARING_PAUSED

Not used in Windows NT 4.0 SP2.

STATUS_UNEXPECTED_NETWORK_ERROR

STATUS_UNMAPPABLE_CHARACTER

Not used in Windows NT 4.0 SP2.

STATUS_USER_SESSION_DELETED

Not used in Windows NT 4.0 SP2 and Windows 2000.

STATUS_VIRTUAL_CIRCUIT_CLOSED

<11> Section 3.1.5.4: The initial buffer size used by Windows DFS clients for all DFS referral requests (domain, DC, DFS root, DFS link, and SYSVOL) is 4 KB. Windows DFS clients retry the referral request by doubling the buffer size, up to a maximum of 56 KB.

<12> Section 3.1.5.4.1: Windows clients do not remove an existing domain name from DomainCache.

<13> Section 3.1.5.4.3: If a referral request to a domain controller fails with one of the following error codes (as specified per version of Windows), the client proceeds to the next target. Unless otherwise noted, the code is used in Windows 2000 operating system and later, Windows XP operating system and later. Note that domain support was not added until Windows 2000, so Windows NT 4.0 SP2 does not apply.

Status Code

Support Notes

STATUS_BAD_NETWORK_NAME

Not used.

STATUS_BAD_NETWORK_PATH

STATUS_CONNECTION_DISCONNECTED

STATUS_CONNECTION_REFUSED

Used in Windows Vista operating system and later, Windows Server 2008 operating system and later.

STATUS_CONNECTION_RESET

Used in Windows 7 operating system and later, Windows Server 2008 R2 operating system and later.

STATUS_DEVICE_OFF_LINE

STATUS_DFS_UNAVAILABLE

STATUS_DISK_OPERATION_FAILED

STATUS_DUPLICATE_NAME

Used in Windows Vista operating system and later, Windows Server 2008 operating system and later.

STATUS_FS_DRIVER_REQUIRED

Used in Windows 7 operating system and later, Windows Server 2008 R2 operating system and later.

STATUS_HOST_UNREACHABLE

Used in Windows Vista operating system and later, Windows Server 2008 operating system and later.

STATUS_INSUFFICIENT_RESOURCES

STATUS_INVALID_NETWORK_RESPONSE

STATUS_IO_REPARSE_TAG_NOT_HANDLED

Used in Windows 7 operating system and later, Windows Server 2008 R2 operating system and later.

STATUS_IO_TIMEOUT

STATUS_NETLOGON_NOT_STARTED

STATUS_NETWORK_BUSY

STATUS_NETWORK_NAME_DELETED

STATUS_NETWORK_UNREACHABLE

STATUS_NO_SUCH_DEVICE

Not used in Windows 2000 through Windows Server 2003 inclusive.

STATUS_NO_SUCH_LOGON_SESSION

Not used in Windows 2000 through Windows Server 2003 inclusive.

STATUS_REMOTE_NOT_LISTENING

STATUS_REQUEST_NOT_ACCEPTED

STATUS_SHARING_PAUSED

STATUS_UNEXPECTED_NETWORK_ERROR

STATUS_UNMAPPABLE_CHARACTER

Not used in Windows 2000 through Windows Server 2003 inclusive.

STATUS_USER_SESSION_DELETED

Not used in Windows 2000 through Windows Server 2003 inclusive.

STATUS_VIRTUAL_CIRCUIT_CLOSED

<14> Section 3.1.5.4.3: If an I/O operation to a target fails with one of the following error codes, as specified per version of Windows, the client proceeds to the next target. Unless otherwise noted, the code is used in Windows NT 4.0 SP2, Windows 2000 operating system and later, Windows XP operating system and later.

Status Code

Support Notes

STATUS_BAD_NETWORK_NAME

Not used.

STATUS_BAD_NETWORK_PATH

STATUS_CONNECTION_DISCONNECTED

Not used in Windows NT 4.0 SP2.

STATUS_CONNECTION_REFUSED

Used in Windows Vista operating system and later, Windows Server 2008 operating system and later.

STATUS_CONNECTION_RESET

Used in Windows 7 operating system and later, Windows Server 2008 R2 operating system and later.

STATUS_DEVICE_OFF_LINE

STATUS_DFS_UNAVAILABLE

Not used in Windows NT 4.0 SP2.

STATUS_DISK_OPERATION_FAILED

STATUS_DUPLICATE_NAME

Used in Windows Vista operating system and later, Windows Server 2008 operating system and later.

STATUS_FS_DRIVER_REQUIRED

Used in Windows 7 operating system and later, Windows Server 2008 R2 operating system and later.

STATUS_HOST_UNREACHABLE

Used in Windows Vista operating system and later, Windows Server 2008 operating system and later.

STATUS_INSUFFICIENT_RESOURCES

Not used in Windows NT 4.0 SP2.

STATUS_INVALID_NETWORK_RESPONSE

STATUS_IO_REPARSE_TAG_NOT_HANDLED

Used in Windows 7 operating system and later, Windows Server 2008 R2 operating system and later.

STATUS_IO_TIMEOUT

STATUS_NETLOGON_NOT_STARTED

Not used in Windows NT 4.0 SP2.

STATUS_NETWORK_BUSY

STATUS_NETWORK_NAME_DELETED

STATUS_NETWORK_UNREACHABLE

Not used in Windows NT 4.0 SP2.

STATUS_NO_SUCH_DEVICE

STATUS_NO_SUCH_LOGON_SESSION

Not used in Windows NT 4.0 SP2, Windows 2000, and Windows XP RTM.

STATUS_REMOTE_NOT_LISTENING

STATUS_REQUEST_NOT_ACCEPTED

STATUS_SHARING_PAUSED

Not used in Windows NT 4.0 SP2.

STATUS_UNEXPECTED_NETWORK_ERROR

STATUS_UNMAPPABLE_CHARACTER

Not used in Windows NT 4.0 SP2.

STATUS_USER_SESSION_DELETED

Not used in Windows NT 4.0 SP2 and Windows 2000.

STATUS_VIRTUAL_CIRCUIT_CLOSED

<15> Section 3.1.5.4.3: This can happen when the server accessed has been consolidated using DFSN Root Consolidation. The Windows client handles this response in the same way that it handles link referrals that it receives in response to link referral requests.

<16> Section 3.1.5.4.3: Windows Server 2003 and Windows XP DFS clients fail the I/O operation if the ReferralCache entry refresh fails. Windows Vista operating system and later, Windows Server 2008 operating system and later DFS clients use a soft time-out equal to the TTL and a hard time-out equal to 4*TTL.

<17> Section 3.2: DFS server functionality is available only Windows NT Server 4.0 operating system with Service Pack 2 (SP2), Windows 2000 Server operating system and later.

Windows client operating systems, such as Windows NT 4.0 operating system Professional, Windows 98 operating system and later do not implement the DFS server functionality.

<18> Section 3.2.5.1: The highest DFS referral version supported by each version of Windows on which DFS server functionality is implemented is as follows.

Windows server version

Highest DFS referral version

Windows NT 4.0

2

Windows 2000 Server

3

Windows Server 2003

3

Windows Server 2003 operating system with Service Pack 1 (SP1)

4

Windows Server 2008

4

Windows Server 2008 R2

4

Windows Server 2012

4

Windows Server 2012 R2

4

Windows Server 2016

4

Windows Server operating system

4

Windows Server 2019

4

Windows Server 2022

4

<19> Section 3.2.5.1: Windows NT 4.0 SP2, Windows 2000, and Windows Server 2003 insert a variable number of padding bytes.

<20> Section 3.2.5.4: Windows NT Server 4.0, Windows 2000, and Windows Server 2003 fail the referral request with a STATUS_NO_SUCH_DEVICE (0xC000000E) return code.

<21> Section 3.2.5.5: Windows 2000 Server fails the referral request with a STATUS_NO_SUCH_DEVICE (0xC000000E) return code.

<22> Section 3.2.5.5: Windows NT Server 4.0, Windows 2000, Windows Server 2003, Windows Server 2003 R2 operating system, Windows Server 2008, and Windows Server 2008 R2 fail the referral request with a STATUS_NOT_FOUND (0xC0000225) return code.

<23> Section 3.2.5.5: Windows 2000 Server uses the SiteInformationBLOB in the DFS metadata of a domain-based DFS namespace to determine the site of a DFS target. Windows Server 2003 operating system and later use the IP address of a DFS target to determine its site.

For interlinks, if the target is a domain-based DFS namespace, there cannot be more than one target for the link. Multiple stand-alone DFS namespace targets are supported as interlink targets. Therefore, there is no special handling for interlink targets. A referral response returns only the immediate interlink targets, not the targets of the domain-based DFS namespace interlink target itself.

<24> Section 3.2.5.5: Windows 2000 Server does not support DFS referral site costing. Windows Server 2003 operating system and later support DFS referral site costing.

<25> Section 3.2.5.5: DFS in-site referral mode is applied only to DFS link targets and not to DFS root targets in Windows 2000 Server. DFS in-site referral mode is applied to all targets in Windows Server 2003 operating system and later.

Windows 2000 Server does not support DFS referral site costing. Only Windows Server 2003 operating system and later support DFS referral site costing.

Windows-based servers randomize the order of targets within each target set to spread client load across the targets on a per DFS referral response basis.

<26> Section 3.2.5.5: Windows Server 2003 with SP1, Windows Server 2008 operating system and later, sort targets have non-default priorities as described previously.

<27> Section 3.2.5.5: Windows will silently drop targets that do not fit in the response buffer.

<28> Section 3.2.5.5: Windows Server 2003 with SP1 operating system and later set all other fields to 0. The earlier versions of Windows (Windows NT 4.0 SP2, Windows 2000, Windows Server 2003) allow the other fields to be any value.

<29> Section 3.2.5.5: In Windows NT 4.0 SP2 and Windows 2000, set the DFSAlternatePathOffset field to point to an 8.3 string representation of the string pointed to by DFSPathOffset if it is not a legal 8.3 string. Otherwise, if DFSPathOffset points to a legal 8.3 string, DFSAlternatePathOffset points to a separate copy of the same string. Windows Server 2003 operating system and later set the DFSPathOffset field and the DFSAlternatePathOffset field to point to separate copies of the identical string.

<30> Section 3.2.5.5: By default, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, and Windows Server 2012 R2 return DNS host names that are not fully qualified for targets.

<31> Section 3.3: DCs are supported only on Windows 2000 Server operating system and later.

<32> Section 3.3.3: On Windows-based domain controllers, preferred logon is enabled with the PreferLogonDC registry setting (see [KB831201]).

<33> Section 3.3.5.2: Windows-based servers have a server-side limit of 56 KB on the maximum size of a domain referral response. Within that limit, the server attempts to return all the domain names that it has. If the size of the domain referral entries is greater than 56 KB, it retains only 56 KB.

<34> Section 3.3.5.2: Windows Server 2008 operating system and later fail the DFS referral request when the value received in the MaxReferralLevel field of REQ_GET_DFS_REFERRAL (section 2.2.2) is less than 3. The earlier versions of Windows (Windows NT 4.0 SP2, Windows 2000, Windows Server 2003) return the referral formatted in the requested version.

<35> Section 3.3.5.2: Windows-based servers have a server-side limit of 56 KB on the maximum size of a domain referral response. Within that limit, the server attempts to return all the domain names that it has. If the size of the domain referral entries is greater than 56 KB, it retains only 56 KB.

<36> Section 3.3.5.2: Windows returns a fixed value of 600 seconds.

<37> Section 3.3.5.3: Windows NT Server 4.0 SP2, Windows 2000, and Windows Server 2003 do not fail the request if the MaxReferralLevel field of REQ_GET_DFS_REFERRAL (section 2.2.2) is less than 3, and the referral response is returned formatted appropriately for the requested version.

<38> Section 3.3.5.3: Windows returns a fixed value of 600 seconds.

<39> Section 3.3.5.3: On Windows-based domain controllers, Distributed File System (DFS) referral site costing is enabled by setting the SiteCostedReferrals value in the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dfs\Parameters\ to 1.

<40> Section 3.3.5.4: Windows 2000 Server does not support DFS referral site costing for sysvol referral responses. Windows Server 2003 and subsequent versions, including Windows Server 2008 operating system and later can be configured to support DFS referral site costing for sysvol referral responses. DFS referral site costing is disabled by default in Windows Server 2003 and enabled by default in Windows Server 2008 operating system and later. Set the registry value SiteCostedReferrals under the registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet-\Services-\Dfs\Parameters to 1 at service startup to enable DFS referral site costing for sysvol referral responses in Windows Server 2003 versions.

<41> Section 3.3.5.4: Windows 2000 Server does not support DFS referral site costing. Windows Server 2003 operating system and later support DFS referral site costing.

<42> Section 3.3.5.4: On Windows-based domain controllers, DFS referral site costing is enabled by setting the SiteCostedReferrals value in the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dfs\Parameters\ to 1.

<43> Section 3.3.5.4: In Windows Server 2003 with SP1 and subsequent versions, the registry value SysvolNetlogonTargetFailback under the registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Dfs\Parameters controls target failback for sysvol referrals.

<44> Section 3.3.5.4: Windows sets the TimeToLive field to a fixed value of 900 seconds.

<45> Section 3.3.5.4: In Windows NT 4.0 SP2 and Windows 2000, set the DFSAlternatePathOffset field to point to an 8.3 string representation of the string pointed to by DFSPathOffset if it is not a legal 8.3 string. Otherwise, if DFSPathOffset points to a legal 8.3 string, DFSAlternatePathOffset points to a separate copy of the same string. Windows Server 2003 operating system and later set the DFSPathOffset field and the DFSAlternatePathOffset field to point to separate copies of the identical string.

<46> Section 3.3.5.5: Windows 2000 Server fails the referral request with a STATUS_NO_SUCH_DEVICE (0xC000000E) return code. Windows Server 2003 fails the referral request with a STATUS_UNSUCCESSFUL (0xC0000001) return code.