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 être l’une des 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 Remarques suivante.
RESOURCE_CONTEXT
Énumérez uniquement les ressources dans le contexte réseau de l’appelant. Spécifiez cette valeur pour une vue De 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 de 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
La définition de 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 Remarques suivante.

[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 est 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 haut 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 elle peut être 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 pour é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 de retour

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 , par exemple l’une des valeurs suivantes.

Retourner le code Description
ERROR_NOT_CONTAINER
Le paramètre lpNetResource ne pointe pas vers un conteneur.
ERROR_INVALID_PARAMETER
Le paramètre dwScope ou d'paramètre dwType n’est pas valide, ou il existe une combinaison non valide de paramètres.
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 distant fourni dans la structure NETRESOURCE résolue 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 effectuées à l’aide du Gestionnaire de réseau local Microsoft sont visibles uniquement aux applications s’exécutant dans la même session d’ouverture de session que l’application qui a effectué la connexion. (Pour inclure la connexion dans l’énumération, il n’est pas suffisant 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.

Note

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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winnetwk.h
bibliothèque Mpr.lib
DLL Mpr.dll

Voir aussi

NETRESOURCE

WNetCloseEnum

WNetEnumResource

Vue d’ensemble mise en réseau Windows (WNet)

fonctions de mise en réseau Windows