Compartilhar via


Função NetDfsGetInfo (lmdfs.h)

Recupera informações sobre uma raiz ou link do DFS (Sistema de Arquivos Distribuído) especificado em um namespace do DFS.

Sintaxe

NET_API_STATUS NET_API_FUNCTION NetDfsGetInfo(
  [in]           LPWSTR DfsEntryPath,
  [in, optional] LPWSTR ServerName,
  [in, optional] LPWSTR ShareName,
  [in]           DWORD  Level,
  [out]          LPBYTE *Buffer
);

Parâmetros

[in] DfsEntryPath

Ponteiro para uma cadeia de caracteres que especifica o caminho UNC (Convenção de Nomenclatura Universal) de uma raiz ou link do DFS.

Para um link, 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 o namespace dfs autônomo; DfsName é o nome do namespace do 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 o namespace DFS baseado em domínio; DomDfsname é o nome do namespace do DFS; e link_path é um link do DFS.

Para uma raiz, a cadeia de caracteres pode estar em uma das duas formas:

\\ Servername\DfsName

ou

\\ Domainname\DomDfsname

em que os valores dos nomes são os mesmos descritos anteriormente.

Este parâmetro é necessário.

[in, optional] ServerName

No momento, esse parâmetro é ignorado e deve ser NULL.

[in, optional] ShareName

No momento, esse parâmetro é ignorado e deve ser NULL.

[in] Level

Especifica o nível de informações da solicitação. Esse parâmetro pode usar um dos valores a seguir.

1

Retornar o nome do link do DFS ou raiz do DFS. O parâmetro Buffer aponta para uma estrutura de DFS_INFO_1 .

2

Retornar o nome do link dfs raiz ou DFS, status e o número de destinos dfs. O parâmetro Buffer aponta para uma estrutura de DFS_INFO_2 .

3

Retornar o nome do link dfs ou dfs, status e informações de destino. O parâmetro Buffer aponta para uma estrutura de DFS_INFO_3 .

4

Retorne o nome do link dfs raiz ou DFS, status, GUID, tempo limite e informações de destino. O parâmetro Buffer aponta para uma estrutura de DFS_INFO_4 .

5

Retorne o nome, status, GUID, tempo limite, sinalizadores de propriedade, tamanho dos metadados e número de destinos para uma raiz dfs e todos os links na raiz. O parâmetro Buffer aponta para uma matriz de estruturas de DFS_INFO_5 .

6

Retorne o nome, status, GUID, tempo limite, sinalizadores de propriedade, tamanho dos metadados, informações de destino do DFS para uma raiz ou link e uma lista de destinos dfs. O parâmetro Buffer aponta para uma matriz de estruturas de DFS_INFO_6 .

7

Retornar o GUID do número de versão dos metadados do DFS. O parâmetro Buffer aponta para uma matriz de estruturas de DFS_INFO_7 .

8

Retorne o nome, status, GUID, tempo limite, sinalizadores de propriedade, tamanho dos metadados, número de destinos e descritores de segurança de ponto de nova análise de link para uma raiz DFS e todos os links na raiz. O parâmetro Buffer aponta para uma matriz de estruturas de DFS_INFO_8 .

9

Retorne o nome, status, GUID, tempo limite, sinalizadores de propriedade, tamanho dos metadados, informações de destino do DFS, descritores de segurança de ponto de nova análise de link e uma lista de destinos dfs para uma raiz ou link. O parâmetro Buffer aponta para uma matriz de estruturas de DFS_INFO_9 .

50

Retornar a versão e os recursos de metadados do DFS de um namespace DFS existente. O parâmetro Buffer aponta para uma estrutura de DFS_INFO_50 .

100

Retorne um comentário sobre a raiz do DFS ou o link do DFS. O parâmetro Buffer aponta para uma estrutura de DFS_INFO_100 .

150

Retorne o descritor de segurança para o ponto de nova análise do link do DFS. O parâmetro Buffer aponta para uma estrutura de DFS_INFO_150 .

Nota Esse valor só terá suporte nativo se o link do DFS residir em um servidor que esteja executando o Windows Server 2008 ou posterior.
 

[out] Buffer

Ponteiro para o endereço de um buffer que recebe as estruturas de informações solicitadas. O formato desses dados depende do valor do parâmetro Level . Esse buffer é alocado pelo sistema e deve ser liberado usando a função NetApiBufferFree . Para obter mais informações, consulte Buffers de função de gerenciamento de rede e Comprimentos de buffer de função de gerenciamento de rede.

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

Nenhuma associação de grupo especial é necessária para usar a função NetDfsGetInfo .

Um aplicativo que chama a função NetDfsGetInfo pode indiretamente fazer com que o servidor namespace dfs local que atende a chamada de função execute uma sincronização completa dos metadados de namespace relacionados do emulador PDC master para esse domínio. Essa sincronização completa pode acontecer mesmo quando o modo de escalabilidade raiz está configurado para esse namespace. Para evitar esse efeito colateral, se a intenção for recuperar apenas o nome de caminho UNC físico usado por um computador cliente DFSN específico correspondente a um determinado caminho de namespace dfs, uma alternativa é usar a API do WDK ZwQueryInformationFile, passando FileNetworkPhysicalNameInformation como o parâmetro FileInformationClass e passando o endereço de uma estrutura de FILE_NETWORK_PHYSICAL_NAME_INFORMATION alocada pelo chamador como o parâmetro FileInformation . Consulte o WDK para obter mais informações sobre como chamar APIs do WDK.

Exemplos

O exemplo de código a seguir demonstra como recuperar informações sobre um link do DFS usando uma chamada para a função NetDfsGetInfo . O exemplo chama NetDfsGetInfo, especificando o nível de informações 3 (DFS_INFO_3). Se a chamada for bem-sucedida, o exemplo imprimirá informações sobre o link do DFS, incluindo o nome e status de cada destino referenciado pelo link. Por fim, o exemplo de código libera a memória alocada para o buffer de informações.

#include <windows.h>
#include <lm.h>
#include <lmdfs.h>
#include <stdio.h>
#pragma comment(lib, "Netapi32.lib")

void wmain(int argc, wchar_t *argv[ ])
{
   PDFS_INFO_3 pData;
   PDFS_STORAGE_INFO ps;
   DWORD er = 0, tr = 0, res, j;

   //
   // Check command line arguments.
   //
   if (argc<2)
      wprintf(L"Syntax: %s DfsEntryPath\n", argv[0]);
   else
   {
      //
      // Call the NetDfsGetInfo function, specifying level 3.
      //
      res = NetDfsGetInfo(argv[1], NULL, NULL, 3, (LPBYTE *) &pData);
      //
      // If the call succeeds, print the data.
      //
      if(res==0)
      {
         printf("%-30S Storages: %u\nComment: %S\n", pData->EntryPath, pData->NumberOfStorages, pData->Comment);
         ps = pData->Storage;
         //
         // Loop through each target.
         //
         for(j = 1; j <= pData->NumberOfStorages;j++)
         {
            //
            // Print the status (Offline/Online) and the name 
            // of each target referenced by the DFS link.
            //
            printf("    %S  ", (ps->State == DFS_STORAGE_STATE_OFFLINE) ? TEXT("Offline"): TEXT("Online "));
            printf("\\\\%S\\%S\n", ps->ServerName, ps->ShareName);
            ps++;
         }
         //
         // Free the allocated memory.
         //
         NetApiBufferFree(pData);
      }
      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

DFS_INFO_1

DFS_INFO_100

DFS_INFO_2

DFS_INFO_3

DFS_INFO_4

DFS_INFO_5

DFS_INFO_6

DFS_INFO_7

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

NetDfsEnum

Funções de gerenciamento de rede

Visão geral do gerenciamento de rede