Partager via


NetDfsGetInfo, fonction (lmdfs.h)

Récupère des informations sur la racine ou le lien d’un système de fichiers distribué (DFS) spécifié dans un espace de noms DFS.

Syntaxe

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

Paramètres

[in] DfsEntryPath

Pointeur vers une chaîne qui spécifie le chemin d’accès UNC (Universal Naming Convention) d’une racine ou d’un lien DFS.

Pour un lien, la chaîne peut être sous l’une des deux formes suivantes. Le premier formulaire est le suivant :

\\ Servername\DfsName\link_path

ServerName est le nom du serveur cible racine qui héberge l’espace de noms DFS autonome ; DfsName est le nom de l’espace de noms DFS ; et link_path est un lien DFS.

Le deuxième formulaire est le suivant :

\\ Domainname\DomDfsname\link_path

DomainName est le nom du domaine qui héberge l’espace de noms DFS basé sur le domaine ; DomDfsname est le nom de l’espace de noms DFS ; et link_path est un lien DFS.

Pour une racine, la chaîne peut être sous l’une des deux formes suivantes :

\\ Servername\DfsName

or

\\ Domainname\DomDfsname

où les valeurs des noms sont les mêmes que celles décrites précédemment.

Ce paramètre est obligatoire.

[in, optional] ServerName

Ce paramètre est actuellement ignoré et doit avoir la valeur NULL.

[in, optional] ShareName

Ce paramètre est actuellement ignoré et doit avoir la valeur NULL.

[in] Level

Spécifie le niveau d’informations de la demande. Ce paramètre peut prendre les valeurs suivantes.

1

Retourne la racine DFS ou le nom du lien DFS. Le paramètre Buffer pointe vers une structure DFS_INFO_1 .

2

Retourne le nom de lien DFS ou DFS, status et le nombre de cibles DFS. Le paramètre Buffer pointe vers une structure DFS_INFO_2 .

3

Retournez le nom, le status et la cible du lien DFS ou le nom du lien DFS. Le paramètre Buffer pointe vers une structure DFS_INFO_3 .

4

Retournez le nom de lien DFS ou DFS, status, GUID, délai d’expiration et informations de cible. Le paramètre Buffer pointe vers une structure DFS_INFO_4 .

5

Retourne le nom, le status, le GUID, le délai d’expiration, les indicateurs de propriété, la taille des métadonnées et le nombre de cibles pour une racine DFS et tous les liens sous la racine. Le paramètre Buffer pointe vers un tableau de structures DFS_INFO_5 .

6

Retournez le nom, le status, le GUID, le délai d’expiration, les indicateurs de propriété, la taille des métadonnées, les informations cibles DFS pour une racine ou un lien, ainsi qu’une liste de cibles DFS. Le paramètre Buffer pointe vers un tableau de structures DFS_INFO_6 .

7

Retourne le GUID de numéro de version des métadonnées DFS. Le paramètre Buffer pointe vers un tableau de structures DFS_INFO_7 .

8

Retourne le nom, le status, le GUID, le délai d’expiration, les indicateurs de propriété, la taille des métadonnées, le nombre de cibles et les descripteurs de sécurité de point d’analyse des liens pour une racine DFS et tous les liens sous la racine. Le paramètre Buffer pointe vers un tableau de structures DFS_INFO_8 .

9

Retournez le nom, les status, le GUID, le délai d’expiration, les indicateurs de propriété, la taille des métadonnées, les informations cibles DFS, les descripteurs de sécurité des points d’analyse de lien et une liste de cibles DFS pour une racine ou un lien. Le paramètre Buffer pointe vers un tableau de structures DFS_INFO_9 .

50

Retourne la version et les fonctionnalités des métadonnées DFS d’un espace de noms DFS existant. Le paramètre Buffer pointe vers une structure DFS_INFO_50 .

100

Retourne un commentaire sur la racine ou le lien DFS. Le paramètre Buffer pointe vers une structure DFS_INFO_100 .

150

Retourne le descripteur de sécurité pour le point d’analyse du lien DFS. Le paramètre Buffer pointe vers une structure DFS_INFO_150 .

Note Cette valeur est prise en charge en mode natif uniquement si le lien DFS réside sur un serveur exécutant Windows Server 2008 ou version ultérieure.
 

[out] Buffer

Pointeur vers l’adresse d’une mémoire tampon qui reçoit les structures d’informations demandées. Le format de ces données dépend de la valeur du paramètre Level . Cette mémoire tampon est allouée par le système et doit être libérée à l’aide de la fonction NetApiBufferFree . Pour plus d’informations, consultez Mémoires tampons de fonction de gestionréseau et Longueurs de mémoire tampon des fonctions de gestion réseau.

Valeur retournée

Si la fonction réussit, la valeur de retour est NERR_Success.

Si la fonction échoue, la valeur de retour est un code d’erreur système. Pour obtenir la liste des codes d’erreur, consultez Codes d’erreur système.

Notes

Aucune appartenance à un groupe spécial n’est requise pour utiliser la fonction NetDfsGetInfo .

Une application appelant la fonction NetDfsGetInfo peut indirectement amener le serveur d’espace de noms DFS local qui traite l’appel de fonction à effectuer une synchronisation complète des métadonnées d’espace de noms associées à partir de l’émulateur PDC master pour ce domaine. Cette synchronisation complète peut se produire même lorsque le mode d’extensibilité racine est configuré pour cet espace de noms. Pour éviter cet effet secondaire, si l’intention est de récupérer uniquement le chemin d’accès UNC physique utilisé par un ordinateur client DFSN spécifique correspondant à un chemin d’espace de noms DFS donné, une alternative consiste à utiliser l’API WDK ZwQueryInformationFile, en passant FileNetworkPhysicalNameInformation comme paramètre FileInformationClass et en passant l’adresse d’une structure de FILE_NETWORK_PHYSICAL_NAME_INFORMATION allouée à l’appelant en tant que paramètre FileInformation . Pour plus d’informations sur l’appel des API WDK, consultez wdk.

Exemples

L’exemple de code suivant montre comment récupérer des informations sur un lien DFS à l’aide d’un appel à la fonction NetDfsGetInfo . L’exemple appelle NetDfsGetInfo, en spécifiant le niveau d’informations 3 (DFS_INFO_3). Si l’appel réussit, l’exemple imprime des informations sur le lien DFS, y compris le nom et status de chaque cible référencée par le lien. Enfin, l’exemple de code libère la mémoire allouée pour la mémoire tampon d’informations.

#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;
}

Configuration requise

   
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête lmdfs.h (include LmDfs.h, Lm.h)
Bibliothèque Netapi32.lib
DLL Netapi32.dll

Voir aussi

DFS_INFO_1

DFS_INFO_100

DFS_INFO_2

DFS_INFO_3

DFS_INFO_4

DFS_INFO_5

DFS_INFO_6

DFS_INFO_7

Fonctions de système de fichiers distribués (DFS)

NetDfsEnum

Fonctions de gestion réseau

Vue d’ensemble de la gestion du réseau