NetDfsAdd-Funktion (lmdfs.h)
Erstellt einen neuen DFS-Link (Distributed File System) oder fügt Ziele zu einem vorhandenen Link in einem DFS-Namespace hinzu.
Syntax
NET_API_STATUS NET_API_FUNCTION NetDfsAdd(
[in] LPWSTR DfsEntryPath,
[in] LPWSTR ServerName,
[in] LPWSTR ShareName,
[in, optional] LPWSTR Comment,
[in] DWORD Flags
);
Parameter
[in] DfsEntryPath
Zeiger auf eine Zeichenfolge, die den UNC-Pfad (Universal Naming Convention) eines DFS-Links in einem DFS-Namespace angibt.
Die Zeichenfolge kann in einer von zwei Formen vorhanden sein. Das erste Formular ist wie folgt:
\\Servername\DfsName\link_path
Dabei ist ServerName der Name des Stammzielservers, der einen eigenständigen DFS-Namespace hostet; DfsName ist der Name des DFS-Namespace. und link_path ist ein DFS-Link.
Das zweite Formular lautet wie folgt:
\\Domänenname\DomDfsname\link_path
Dabei ist DomainName der Name der Domäne, die einen domänenbasierten DFS-Namespace hostet; DomDfsname ist der Name des domänenbasierten DFS-Namespace. und link_path ist ein DFS-Link.
Dieser Parameter ist erforderlich.
[in] ServerName
Zeiger auf eine Zeichenfolge, die den Namen des Linkzielservers angibt. Dieser Parameter ist erforderlich.
[in] ShareName
Zeiger auf eine Zeichenfolge, die den Namen der Linkzielfreigabe angibt. Dies kann auch ein Freigabename mit einem Pfad relativ zur Freigabe sein. Beispiel: share1\mydir1\mydir2. Dieser Parameter ist erforderlich.
[in, optional] Comment
Zeiger auf eine Zeichenfolge, die einen optionalen Kommentar angibt, der dem DFS-Link zugeordnet ist. Dieser Parameter wird ignoriert, wenn die Funktion einem vorhandenen Link ein Ziel hinzufügt.
[in] Flags
Dieser Parameter kann den folgenden Wert angeben, oder Sie können null für keine Flags angeben.
DFS_ADD_VOLUME (0x00000001)
Erstellen Sie einen DFS-Link. Wenn der DFS-Link bereits vorhanden ist, schlägt die NetDfsAdd-Funktion fehl. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.
DFS_RESTORE_VOLUME (0x00000002)
Dieses Flag wird nicht unterstützt.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert NERR_Success.
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Systemfehlercode. Eine Liste der Fehlercodes finden Sie unter Systemfehlercodes.
Hinweise
Der DFS-Namespace muss bereits vorhanden sein. Diese Funktion erstellt keinen neuen DFS-Namespace.
Der Aufrufer muss über Administratorrechte auf dem DFS-Server verfügen. Weitere Informationen zum Aufrufen von Funktionen, die Administratorrechte erfordern, finden Sie unter Ausführen mit speziellen Berechtigungen.
Die Verwendung des DFS_ADD_VOLUME-Flags ist optional. Wenn Sie DFS_ADD_VOLUME angeben und der Link bereits vorhanden ist, schlägt NetDfsAdd fehl . Wenn Sie DFS_ADD_VOLUME nicht angeben, erstellt NetDfsAdd ggf. den Link und fügt dem Link das Ziel hinzu. Sie sollten diesen Wert angeben, wenn Sie bestimmen müssen, wann neue Verknüpfungen erstellt werden.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Sie mithilfe eines Aufrufs der NetDfsAdd-Funktion einen neuen DFS-Link erstellen. Da das Beispiel den Wert DFS_ADD_VOLUME im Flags-Parameter angibt, schlägt der Aufruf von NetDfsAdd fehl, wenn der DFS-Link bereits vorhanden ist. Um einem vorhandenen DFS-Link weitere Ziele hinzuzufügen, können Sie null im Flags-Parameter angeben.
#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;
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | lmdfs.h (include LmDfs.h, Lm.h) |
Bibliothek | NetApi32.lib |
DLL | NetApi32.dll |