NetDfsAdd, fonction (lmdfs.h)
Crée un lien DFS (Distributed File System) ou ajoute des cibles à un lien existant dans un espace de noms DFS.
Syntaxe
NET_API_STATUS NET_API_FUNCTION NetDfsAdd(
[in] LPWSTR DfsEntryPath,
[in] LPWSTR ServerName,
[in] LPWSTR ShareName,
[in, optional] LPWSTR Comment,
[in] DWORD Flags
);
Paramètres
[in] DfsEntryPath
Pointeur vers une chaîne qui spécifie le chemin d’accès UNC (Universal Naming Convention) d’un lien DFS dans un espace de noms DFS.
La chaîne peut être sous l’une des deux formes suivantes. Le premier formulaire est le suivant :
\\ Servername\DfsName\link_path
où ServerName est le nom du serveur cible racine qui héberge un espace de noms DFS autonome ; DfsName est le nom de l’espace de noms DFS ; et link_path est un lien DFS.
Le deuxième formulaire est le suivant :
\\ Domainname\DomDfsname\link_path
où DomainName est le nom du domaine qui héberge un espace de noms DFS basé sur un domaine ; DomDfsname est le nom de l’espace de noms DFS basé sur un domaine ; et link_path est un lien DFS.
Ce paramètre est obligatoire.
[in] ServerName
Pointeur vers une chaîne qui spécifie le nom du serveur cible de liaison. Ce paramètre est obligatoire.
[in] ShareName
Pointeur vers une chaîne qui spécifie le nom du partage cible de lien. Il peut également s’agir d’un nom de partage avec un chemin relatif au partage. Par exemple, share1\mydir1\mydir2. Ce paramètre est obligatoire.
[in, optional] Comment
Pointeur vers une chaîne qui spécifie un commentaire facultatif associé au lien DFS. Ce paramètre est ignoré lorsque la fonction ajoute une cible à un lien existant.
[in] Flags
Ce paramètre peut spécifier la valeur suivante, ou vous pouvez spécifier zéro pour aucun indicateur.
DFS_ADD_VOLUME (0x00000001)
Créez un lien DFS. Si le lien DFS existe déjà, la fonction NetDfsAdd échoue. Pour plus d'informations, consultez la section Notes.
DFS_RESTORE_VOLUME (0x00000002)
Cet indicateur n’est pas pris en charge.
Valeur retournée
Si la fonction réussit, la valeur de retour est NERR_Success.
Si la fonction échoue, la valeur de retour est un code d’erreur système. Pour obtenir la liste des codes d’erreur, consultez Codes d’erreur système.
Notes
L’espace de noms DFS doit déjà exister. Cette fonction ne crée pas d’espace de noms DFS.
L’appelant doit disposer du privilège Administrateur sur le serveur DFS. Pour plus d’informations sur l’appel de fonctions qui nécessitent des privilèges d’administrateur, consultez Exécution avec des privilèges spéciaux.
L’utilisation de l’indicateur DFS_ADD_VOLUME est facultative. Si vous spécifiez DFS_ADD_VOLUME et que le lien existe déjà, NetDfsAdd échoue. Si vous ne spécifiez pas DFS_ADD_VOLUME, NetDfsAdd crée le lien, si nécessaire, et ajoute la cible au lien. Vous devez spécifier cette valeur lorsque vous devez déterminer quand de nouveaux liens sont créés.
Exemples
L’exemple de code suivant montre comment créer un lien DFS à l’aide d’un appel à la fonction NetDfsAdd . Étant donné que l’exemple spécifie la valeur DFS_ADD_VOLUME dans le paramètre Flags , l’appel à NetDfsAdd échoue si le lien DFS existe déjà. Pour ajouter des cibles supplémentaires à un lien DFS existant, vous pouvez spécifier zéro dans le paramètre 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;
}
Configuration requise
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | lmdfs.h (include LmDfs.h, Lm.h) |
Bibliothèque | NetApi32.lib |
DLL | NetApi32.dll |