共用方式為


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
);

參數

[in] DfsEntryPath

字串的指標,指定 DFS 命名空間中 DFS 連結的通用命名慣例 (UNC) 路徑。

字串可以是兩種形式之一。 第一個表單如下所示:

\\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)
程式庫 NetApi32.lib
Dll NetApi32.dll

另請參閱

分散式檔案系統 (DFS) 函式

NetDfsAddFtRoot

NetDfsAddStdRoot

NetDfsEnum

NetDfsRemove

網路管理功能

網路管理概觀