NetDfsAdd 函数 (lmdfs.h)

创建新的分布式文件系统 (DFS) 链接或将目标添加到 DFS 命名空间中的现有链接。

语法

NET_API_STATUS NET_API_FUNCTION NetDfsAdd(
  [in]           LPWSTR DfsEntryPath,
  [in]           LPWSTR ServerName,
  [in]           LPWSTR ShareName,
  [in, optional] LPWSTR Comment,
  [in]           DWORD  Flags
);

parameters

[in] DfsEntryPath

指向指定通用命名约定 (UNC) DFS 命名空间中 DFS 链接路径的字符串的指针。

字符串可以是两种形式之一。 第一种形式如下所示:

\\ServerName\DfsName\link_path

其中 ,ServerName 是承载独立 DFS 命名空间的根目标服务器的名称; DfsName 是 DFS 命名空间的名称; 和 link_path 是 DFS 链接。

第二种形式如下:

\\DomainName\DomDfsname\link_path

其中 ,DomainName 是托管基于域的 DFS 命名空间的域的名称; DomDfsname 是基于域的 DFS 命名空间的名称; 和 link_path 是 DFS 链接。

此参数是必需的。

[in] ServerName

指向指定链接目标服务器名称的字符串的指针。 此参数是必需的。

[in] ShareName

指向指定链接目标共享名称的字符串的指针。 这也可以是具有相对于共享的路径的共享名称。 例如 ,share1\mydir1\mydir2。 此参数是必需的。

[in, optional] Comment

指向指定与 DFS 链接关联的可选注释的字符串的指针。 当函数将目标添加到现有链接时,将忽略此参数。

[in] Flags

此参数可以指定以下值,也可以为无标志指定零。

DFS_ADD_VOLUME (0x00000001)

创建 DFS 链接。 如果 DFS 链接已存在, NetDfsAdd 函数将失败。 有关详细信息,请参见“备注”部分。

DFS_RESTORE_VOLUME (0x00000002)

不支持此标志。

返回值

如果函数成功,则返回值 NERR_Success

如果函数失败,则返回值为系统错误代码。 有关错误代码的列表,请参阅 系统错误代码

注解

DFS 命名空间必须已存在。 此函数不会创建新的 DFS 命名空间。

调用方必须在 DFS 服务器上具有管理员权限。 有关调用需要管理员权限的函数的详细信息,请参阅 使用特殊特权运行

使用 DFS_ADD_VOLUME 标志是可选的。 如果指定 DFS_ADD_VOLUME 且链接已存在, NetDfsAdd 将失败。 如果未指定 DFS_ADD_VOLUMENetDfsAdd 会根据需要创建链接,并将目标添加到链接。 需要确定何时创建新链接时,应指定此值。

示例

以下代码示例演示如何使用对 NetDfsAdd 函数的调用创建新的 DFS 链接。 由于此示例指定 Flags 参数中的值DFS_ADD_VOLUME,因此如果 DFS 链接已存在,则对 NetDfsAdd 的调用将失败。 若要向现有 DFS 链接添加其他目标,可以在 Flags 参数中指定零。

#include <windows.h>
#include <lm.h>
#include <lmdfs.h>
#include <stdio.h>
#pragma comment(lib, "NetApi32.lib")

void wmain(int argc, wchar_t *argv[ ])
{
   DWORD res;
   LPTSTR lpszComment;
   lpszComment = argc < 5 ? NULL : argv[4];
   //
   // Check for required parameters.
   //
   if (argc < 4)
      wprintf(L"Syntax: %s DfsEntryPath ServerName ShareName [\"Comment\"]\n", argv[0]);
   else
   {
      //
      // Call the NetDfsAdd function; fail the call 
      // if the DFS link already exists (DFS_ADD_VOLUME).
         //
      // To add a second storage to a DFS link, change
      // the last parameter to 0.
      //
      res = NetDfsAdd(argv[1], argv[2], argv[3], lpszComment, DFS_ADD_VOLUME);
      //
      // If the call succeeds,
      //
      if(res == 0)
         printf("Added DFS link\n");
      else
         printf("Error: %u\n", res);
   }
   return;
}

要求

   
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 lmdfs.h (包括 LmDfs.h、Lm.h)
Library NetApi32.lib
DLL NetApi32.dll

另请参阅

分布式文件系统 (DFS) 函数

NetDfsAddFtRoot

NetDfsAddStdRoot

NetDfsEnum

NetDfsRemove

网络管理功能

网络管理概述