새 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
이 매개 변수는 다음 값을 지정하거나 플래그 없이 0을 지정할 수 있습니다.
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 매개 변수에서 0을 지정할 수 있습니다.
#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 |