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)