Partager via


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

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

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

Voir aussi

Fonctions de système de fichiers distribués (DFS)

NetDfsAddFtRoot

NetDfsAddStdRoot

NetDfsEnum

NetDfsRemove

Fonctions de gestion réseau

Vue d’ensemble de la gestion du réseau