Partager via


WNetOpenEnumA, fonction (winnetwk.h)

La fonction WNetOpenEnum démarre une énumération des ressources réseau ou des connexions existantes. Vous pouvez continuer l’énumération en appelant la fonction WNetEnumResource .

Syntaxe

DWORD WNetOpenEnumA(
  [in]  DWORD          dwScope,
  [in]  DWORD          dwType,
  [in]  DWORD          dwUsage,
  [in]  LPNETRESOURCEA lpNetResource,
  [out] LPHANDLE       lphEnum
);

Paramètres

[in] dwScope

Étendue de l’énumération. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
RESOURCE_CONNECTED
Énumérez toutes les ressources actuellement connectées. La fonction ignore le paramètre dwUsage . Pour plus d'informations, consultez la section Notes qui suit.
RESOURCE_CONTEXT
Énumérez uniquement les ressources dans le contexte réseau de l’appelant. Spécifiez cette valeur pour une vue Voisinage réseau. La fonction ignore le paramètre dwUsage .
RESOURCE_GLOBALNET
Énumérez toutes les ressources sur le réseau.
RESOURCE_REMEMBERED
Énumérez toutes les connexions mémorisées (persistantes). La fonction ignore le paramètre dwUsage .

[in] dwType

Types de ressources à énumérer. Ce paramètre peut être une combinaison des valeurs suivantes.

Valeur Signification
RESOURCETYPE_ANY
Toutes les ressources. Cette valeur ne peut pas être combinée avec RESOURCETYPE_DISK ou RESOURCETYPE_PRINT.
RESOURCETYPE_DISK
Toutes les ressources de disque.
RESOURCETYPE_PRINT
Toutes les ressources d’impression.
 

Si un fournisseur réseau ne peut pas faire la distinction entre les ressources d’impression et de disque, il peut énumérer toutes les ressources.

[in] dwUsage

Type d’utilisation des ressources à énumérer. Ce paramètre peut être une combinaison des valeurs suivantes.

Valeur Signification
0
Toutes les ressources.
RESOURCEUSAGE_CONNECTABLE
Toutes les ressources connectables.
RESOURCEUSAGE_CONTAINER
Toutes les ressources de conteneur.
RESOURCEUSAGE_ATTACHED
La définition de cette valeur force WNetOpenEnum à échouer si l’utilisateur n’est pas authentifié. La fonction échoue même si le réseau autorise l’énumération sans authentification.
RESOURCEUSAGE_ALL
Définir cette valeur équivaut à définir RESOURCEUSAGE_CONNECTABLE, RESOURCEUSAGE_CONTAINER et RESOURCEUSAGE_ATTACHED.
 

Ce paramètre est ignoré, sauf si le paramètre dwScope est égal à RESOURCE_GLOBALNET. Pour plus d'informations, consultez la section Notes qui suit.

[in] lpNetResource

Pointeur vers une structure NETRESOURCE qui spécifie le conteneur à énumérer. Si le paramètre dwScope n’est pas RESOURCE_GLOBALNET, ce paramètre doit être NULL.

Si ce paramètre a la valeur NULL, la racine du réseau est supposée. (Le système organise un réseau en tant que hiérarchie ; la racine est le conteneur le plus élevé du réseau.)

Si ce paramètre n’est pas NULL, il doit pointer vers une structure NETRESOURCE . Cette structure peut être renseignée par l’application ou retournée par un appel à la fonction WNetEnumResource . La structure NETRESOURCE doit spécifier une ressource de conteneur ; Autrement dit, la valeur RESOURCEUSAGE_CONTAINER doit être spécifiée dans le paramètre dwUsage .

Pour énumérer toutes les ressources réseau, une application peut commencer l’énumération en appelant WNetOpenEnum avec le paramètre lpNetResource défini sur NULL, puis utiliser le handle retourné pour appeler WNetEnumResource afin d’énumérer les ressources. Si l’une des ressources du tableau NETRESOURCE retournée par la fonction WNetEnumResource est une ressource conteneur, vous pouvez appeler WNetOpenEnum pour ouvrir la ressource pour une énumération supplémentaire.

[out] lphEnum

Pointeur vers un handle d’énumération qui peut être utilisé dans un appel ultérieur à WNetEnumResource.

Valeur retournée

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

Si la fonction échoue, la valeur de retour est un code d’erreur système, comme l’une des valeurs suivantes.

Code de retour Description
ERROR_NOT_CONTAINER
Le paramètre lpNetResource ne pointe pas vers un conteneur.
ERROR_INVALID_PARAMETER
Le paramètre dwScope ou dwType n’est pas valide, ou il existe une combinaison de paramètres non valide.
ERROR_NO_NETWORK
Le réseau n'est pas disponible.
ERROR_EXTENDED_ERROR
Une erreur spécifique au réseau s’est produite. Pour obtenir une description de l’erreur, appelez la fonction WNetGetLastError .
ERROR_INVALID_ADDRESS
Nom de ressource réseau distante fourni dans la structure NETRESOURCE résolu en adresse réseau non valide.

Remarques

Si le paramètre dwScope est égal à RESOURCE_CONNECTED, une connexion réseau établie à l’aide du réseau Microsoft LAN Manager est omise de l’énumération si la connexion a été établie par une application s’exécutant dans une session d’ouverture de session différente de celle de l’application appelant la fonction WNetOpenEnum . Cela est dû au fait que les connexions établies à l’aide de Microsoft LAN Manager sont visibles uniquement pour les applications qui s’exécutent dans la même session d’ouverture de session que l’application qui a créé la connexion. (Pour inclure la connexion dans l’énumération, il ne suffit pas que l’application s’exécute dans le compte d’utilisateur qui a créé la connexion.)

L’interprétation exacte de RESOURCE_CONTEXT dans le paramètre dwScope dépend des réseaux installés sur l’ordinateur.

La fonction WNetOpenEnum est utilisée pour commencer l’énumération des ressources dans un seul conteneur. Les exemples suivants montrent la structure hiérarchique d’un réseau Microsoft LAN Manager et d’un réseau Novell NetWare et identifient les conteneurs.

LanMan (container, in this case the provider) 
  ACCOUNTING (container, in this case the domain) 
    \\ACCTSPAY (container, in this case the server) 
      PAYFILES (disk) 
      LASERJET (print) 
 
NetWare (container, in this case the provider) 
  MARKETING (container, in this case the server) 
    SYS (disk, first one on any NetWare server) 
    ANOTHERVOLUME (disk) 
    LASERJET (print) 

Exemples

Pour obtenir un exemple de code illustrant une fonction définie par l’application qui énumère toutes les ressources d’un réseau, consultez Énumération des ressources réseau.

Notes

L’en-tête winnetwk.h définit WNetOpenEnum comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winnetwk.h
Bibliothèque Mpr.lib
DLL Mpr.dll

Voir aussi

NETRESOURCE

WNetCloseEnum

WNetEnumResource

Vue d’ensemble de Windows Networking (WNet)

Fonctions de mise en réseau Windows