Platform SDK: Network Management

Distributed File System (Dfs) Functions

The Distributed File System (Dfs) functions provide the ability to logically group shares on multiple servers and to transparently link shares into a single hierarchical name space. Dfs organizes shared resources on a network in a treelike structure.

Dfs supports stand-alone implementations of Dfs, those with one host server, and domain-based implementations that have multiple host servers and high availability. The Dfs topology data for domain-based implementations is stored in Active Directory. The data includes the Dfs root, Dfs links and a replica set.

Each Dfs tree structure has one or more root shares, which are stored on a physical server running the Dfs process. A root share can contain one or more Dfs links. Each Dfs link points to one or more shared folders on the network. You can add, modify and delete Dfs links from a Dfs root share. When you remove the last share associated with a Dfs link, Dfs deletes the Dfs link in the Dfs root share. (In earlier documentation, Dfs links were called junction points.)

When a Dfs link points to more than one shared folder, the folders are called replicas. When users access a Dfs link, the Dfs server selects one of the replicas based on site information, if it is available, and connects the user to the replica. This helps to distribute client requests across the replicas and can improve performance.

An application can use the Dfs functions to:

The Dfs functions are listed following.

Function Description
NetDfsAdd Creates a new Dfs link or adds a share to an existing link.
NetDfsAddFtRoot Creates a new domain-based Dfs root, or adds a new server and share to an existing domain-based Dfs implementation.
NetDfsAddStdRoot Creates the root for a new stand-alone Dfs implementation.
NetDfsAddStdRootForced Creates the root for a new stand-alone Dfs implementation in a cluster technology environment, allowing an offline share to host the Dfs root.
NetDfsEnum Enumerates all Dfs links in a named Dfs root.
NetDfsGetClientInfo Returns the client's cached information about a specific Dfs link.
NetDfsGetInfo Returns information about a specific Dfs link.
NetDfsManagerInitialize Reinitializes the Dfs service on a specified server.
NetDfsRemove Removes a share from a Dfs link; removes the Dfs link if the share is the last associated with the specified link.
NetDfsRemoveFtRoot Removes a server and share from a domain-based Dfs implementation; deletes the Dfs root if there are no more associated shares.
NetDfsRemoveFtRootForced Removes the specified server from a domain-based Dfs implementation, even if the server is offline.
NetDfsRemoveStdRoot Deletes the root of a stand-alone Dfs implementation.
NetDfsSetClientInfo Modifies cached information about a Dfs link on a client computer.
NetDfsSetInfo Associates information with a Dfs link.

Dfs functions are available at the following information levels:

DFS_INFO_1
DFS_INFO_2
DFS_INFO_3
DFS_INFO_4
DFS_INFO_100
DFS_INFO_101
DFS_INFO_102
DFS_INFO_200
DFS_STORAGE_INFO

Shares on computers that are running Windows NT Workstation, Windows 2000 Professional, Windows 95, Windows 98, or Windows for Workgroups can be published in a Dfs name space. You can also publish any non-Microsoft shares for which client redirectors are available in a Dfs name space. However, unlike a share that is published on a server that is running Windows NT Server 4.0 or Windows 2000 Server, they cannot host a Dfs share or point to other Dfs shares.

Dfs uses the Windows 2000 file replication service to copy changes between replicated shares. Users can modify files stored on one replica, and the file replication service propagates the changes to the other designated replicas. The service preserves the most recent change to a document or files.