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_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) |
Library | NetApi32.lib |
DLL | NetApi32.dll |