Compartilhar via


Função NetDfsAdd (lmdfs.h)

Cria um novo link do DFS (Sistema de Arquivos Distribuído) ou adiciona destinos a um link existente em um namespace do DFS.

Sintaxe

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

Ponteiro para uma cadeia de caracteres que especifica o caminho UNC (Convenção Universal de Nomenclatura) de um link dfs em um namespace dfs.

A cadeia de caracteres pode estar em uma das duas formas. O primeiro formulário é o seguinte:

\\ Servername\DfsName\link_path

em que ServerName é o nome do servidor de destino raiz que hospeda um namespace dfs autônomo; DfsName é o nome do namespace dfs; e link_path é um link do DFS.

O segundo formulário é o seguinte:

\\ Domainname\DomDfsname\link_path

em que DomainName é o nome do domínio que hospeda um namespace DFS baseado em domínio; DomDfsname é o nome do namespace DFS baseado em domínio; e link_path é um link do DFS.

Este parâmetro é necessário.

[in] ServerName

Ponteiro para uma cadeia de caracteres que especifica o nome do servidor de destino do link. Este parâmetro é necessário.

[in] ShareName

Ponteiro para uma cadeia de caracteres que especifica o nome do compartilhamento de destino do link. Também pode ser um nome de compartilhamento com um caminho relativo ao compartilhamento. Por exemplo, share1\mydir1\mydir2. Este parâmetro é necessário.

[in, optional] Comment

Ponteiro para uma cadeia de caracteres que especifica um comentário opcional associado ao link do DFS. Esse parâmetro é ignorado quando a função adiciona um destino a um link existente.

[in] Flags

Esse parâmetro pode especificar o valor a seguir ou você pode especificar zero para nenhum sinalizador.

DFS_ADD_VOLUME (0x00000001)

Crie um link do DFS. Se o link dfs já existir, a função NetDfsAdd falhará. Para obter mais informações, consulte a seção Comentários.

DFS_RESTORE_VOLUME (0x00000002)

Não há suporte para esse sinalizador.

Valor retornado

Se a função for bem-sucedida, o valor retornado será NERR_Success.

Se a função falhar, o valor retornado será um código de erro do sistema. Para obter uma lista de códigos de erro, consulte Códigos de erro do sistema.

Comentários

O namespace dfs já deve existir. Essa função não cria um novo namespace dfs.

O chamador deve ter privilégio de Administrador no servidor DFS. Para obter mais informações sobre como chamar funções que exigem privilégios de administrador, consulte Executando com privilégios especiais.

O uso do sinalizador DFS_ADD_VOLUME é opcional. Se você especificar DFS_ADD_VOLUME e o link já existir, o NetDfsAdd falhará . Se você não especificar DFS_ADD_VOLUME, NetDfsAdd criará o link, se necessário, e adicionará o destino ao link. Você deve especificar esse valor quando precisar determinar quando novos links são criados.

Exemplos

O exemplo de código a seguir demonstra como criar um novo link dfs usando uma chamada para a função NetDfsAdd . Como o exemplo especifica o valor DFS_ADD_VOLUME no parâmetro Flags , a chamada para NetDfsAdd falhará se o link dfs já existir. Para adicionar destinos adicionais a um link dfs existente, você pode especificar zero no 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 com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho lmdfs.h (inclua LmDfs.h, Lm.h)
Biblioteca NetApi32.lib
DLL NetApi32.dll

Confira também

Funções dfs (sistema de arquivos distribuído)

NetDfsAddFtRoot

NetDfsAddStdRoot

NetDfsEnum

NetDfsRemove

Funções de gerenciamento de rede

Visão geral do gerenciamento de rede