Compartir a través de


Función NetDfsAdd (lmdfs.h)

Crea un nuevo vínculo del sistema de archivos distribuido (DFS) o agrega destinos a un vínculo existente en un espacio de nombres DFS.

Sintaxis

NET_API_STATUS NET_API_FUNCTION NetDfsAdd(
  [in]           LPWSTR DfsEntryPath,
  [in]           LPWSTR ServerName,
  [in]           LPWSTR ShareName,
  [in, optional] LPWSTR Comment,
  [in]           DWORD  Flags
);

Parámetros

[in] DfsEntryPath

Puntero a una cadena que especifica la ruta de acceso de convención de nomenclatura universal (UNC) de un vínculo DFS en un espacio de nombres DFS.

La cadena puede estar en una de dos formas. El primer formulario es el siguiente:

\\Nombredeservidor\DfsName\link_path

donde ServerName es el nombre del servidor de destino raíz que hospeda un espacio de nombres DFS independiente; DfsName es el nombre del espacio de nombres DFS; y link_path es un vínculo DFS.

El segundo formulario es el siguiente:

\\Nombrededominio\DomDfsname\link_path

donde DomainName es el nombre del dominio que hospeda un espacio de nombres DFS basado en dominio; DomDfsname es el nombre del espacio de nombres DFS basado en dominio; y link_path es un vínculo DFS.

Este parámetro es obligatorio.

[in] ServerName

Puntero a una cadena que especifica el nombre del servidor de destino de vínculo. Este parámetro es obligatorio.

[in] ShareName

Puntero a una cadena que especifica el nombre del recurso compartido de destino de vínculo. También puede ser un nombre de recurso compartido con una ruta de acceso relativa al recurso compartido. Por ejemplo, share1\mydir1\mydir2. Este parámetro es obligatorio.

[in, optional] Comment

Puntero a una cadena que especifica un comentario opcional asociado al vínculo DFS. Este parámetro se omite cuando la función agrega un destino a un vínculo existente.

[in] Flags

Este parámetro puede especificar el siguiente valor o puede especificar cero para ninguna marca.

DFS_ADD_VOLUME (0x00000001)

Cree un vínculo DFS. Si el vínculo DFS ya existe, se produce un error en la función NetDfsAdd . Para obtener más información, vea la sección Comentarios.

DFS_RESTORE_VOLUME (0x00000002)

Esta marca no se admite.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es NERR_Success.

Si se produce un error en la función, el valor devuelto es un código de error del sistema. Para obtener una lista de códigos de error, consulte Códigos de error del sistema.

Comentarios

El espacio de nombres DFS ya debe existir. Esta función no crea un nuevo espacio de nombres DFS.

El autor de la llamada debe tener privilegios de administrador en el servidor DFS. Para obtener más información sobre las funciones de llamada que requieren privilegios de administrador, consulte Ejecución con privilegios especiales.

El uso de la marca DFS_ADD_VOLUME es opcional. Si especifica DFS_ADD_VOLUME y el vínculo ya existe, Se produce un error en NetDfsAdd . Si no especifica DFS_ADD_VOLUME, NetDfsAdd crea el vínculo, si es necesario, y agrega el destino al vínculo. Debe especificar este valor cuando necesite determinar cuándo se crean nuevos vínculos.

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear un nuevo vínculo DFS mediante una llamada a la función NetDfsAdd . Dado que el ejemplo especifica el valor DFS_ADD_VOLUME en el parámetro Flags , se produce un error en la llamada a NetDfsAdd si el vínculo DFS ya existe. Para agregar destinos adicionales a un vínculo DFS existente, puede especificar cero en el parámetro 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;
}

Requisitos

   
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado lmdfs.h (incluya LmDfs.h, Lm.h)
Library NetApi32.lib
Archivo DLL NetApi32.dll

Consulte también

Funciones del sistema de archivos distribuidos (DFS)

NetDfsAddFtRoot

NetDfsAddStdRoot

NetDfsEnum

NetDfsRemove

Funciones de administración de red

Introducción a la administración de redes