Funzione NetDfsAdd (lmdfs.h)

Crea un nuovo collegamento DFS (Distributed File System) o aggiunge destinazioni a un collegamento esistente in uno spazio dei nomi DFS.

Sintassi

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

Parametri

[in] DfsEntryPath

Puntatore a una stringa che specifica il percorso UNC (Universal Naming Convention) di un collegamento DFS in uno spazio dei nomi DFS.

La stringa può essere in una delle due forme. Il primo modulo è il seguente:

\\ Nomeserver\DfsName\link_path

dove ServerName è il nome del server di destinazione radice che ospita uno spazio dei nomi DFS autonomo; DfsName è il nome dello spazio dei nomi DFS; e link_path è un collegamento DFS.

Il secondo formato è il seguente:

\\ Domainname\DomDfsname\link_path

dove DomainName è il nome del dominio che ospita uno spazio dei nomi DFS basato su dominio; DomDfsname è il nome dello spazio dei nomi DFS basato su dominio; e link_path è un collegamento DFS.

Questo parametro è obbligatorio.

[in] ServerName

Puntatore a una stringa che specifica il nome del server di destinazione del collegamento. Questo parametro è obbligatorio.

[in] ShareName

Puntatore a una stringa che specifica il nome della condivisione di destinazione del collegamento. Può trattarsi anche di un nome di condivisione con un percorso relativo alla condivisione. Ad esempio, share1\mydir1\mydir2. Questo parametro è obbligatorio.

[in, optional] Comment

Puntatore a una stringa che specifica un commento facoltativo associato al collegamento DFS. Questo parametro viene ignorato quando la funzione aggiunge una destinazione a un collegamento esistente.

[in] Flags

Questo parametro può specificare il valore seguente oppure è possibile specificare zero per nessun flag.

DFS_ADD_VOLUME (0x00000001)

Creare un collegamento DFS. Se il collegamento DFS esiste già, la funzione NetDfsAdd ha esito negativo. Per altre informazioni, vedere la sezione Osservazioni.

DFS_RESTORE_VOLUME (0x00000002)

Questo flag non è supportato.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene NERR_Success.

Se la funzione ha esito negativo, il valore restituito è un codice di errore di sistema. Per un elenco dei codici di errore, vedere Codici errore di sistema.

Commenti

Lo spazio dei nomi DFS deve esistere già. Questa funzione non crea un nuovo spazio dei nomi DFS.

Il chiamante deve avere privilegi di amministratore nel server DFS. Per altre informazioni sulla chiamata di funzioni che richiedono privilegi di amministratore, vedere Esecuzione con privilegi speciali.

L'uso del flag DFS_ADD_VOLUME è facoltativo. Se si specifica DFS_ADD_VOLUME e il collegamento esiste già, NetDfsAdd ha esito negativo. Se non si specifica DFS_ADD_VOLUME, NetDfsAdd crea il collegamento, se necessario, e aggiunge la destinazione al collegamento. È necessario specificare questo valore quando è necessario determinare quando vengono creati nuovi collegamenti.

Esempio

L'esempio di codice seguente illustra come creare un nuovo collegamento DFS usando una chiamata alla funzione NetDfsAdd . Poiché l'esempio specifica il valore DFS_ADD_VOLUME nel parametro Flags , la chiamata a NetDfsAdd ha esito negativo se il collegamento DFS esiste già. Per aggiungere altre destinazioni a un collegamento DFS esistente, è possibile specificare zero nel parametro 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;
}

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione lmdfs.h (include LmDfs.h, Lm.h)
Libreria NetApi32.lib
DLL NetApi32.dll

Vedi anche

Funzioni DFS (Distributed File System)

NetDfsAddFtRoot

NetDfsAddStdRoot

NetDfsEnum

NetDfsRemove

Funzioni di gestione di rete

Panoramica della gestione della rete