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_VOLUME, NetDfsAdd 會視需要建立連結,並將目標新增至連結。 當您需要判斷何時建立新的連結時,應該指定此值。
範例
下列程式碼範例示範如何使用 對 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 |