Partager via


WNetGetResourceParentA, fonction (winnetwk.h)

La fonction WNetGetResourceParent retourne le parent d’une ressource réseau dans la hiérarchie de navigation réseau. La navigation commence à l’emplacement de la ressource réseau spécifiée.

Appelez les fonctions WNetGetResourceInformation et WNetGetResourceParent pour monter dans la hiérarchie réseau. Appelez la fonction WNetOpenEnum pour descendre dans la hiérarchie.

Syntaxe

DWORD WNetGetResourceParentA(
  [in]      LPNETRESOURCEA lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpcbBuffer
);

Paramètres

[in] lpNetResource

Pointeur vers une structure NETRESOURCE qui spécifie la ressource réseau pour laquelle le nom parent est requis.

Spécifiez les membres de la structure NETRESOURCE d’entrée comme suit. L’appelant connaît généralement les valeurs à fournir pour les membres lpProvider et dwType après les appels précédents à WNetGetResourceInformation ou WNetGetResourceParent.

Membre Signification
dwType
Ce membre doit être renseigné s’il est connu ; dans le cas contraire, elle doit être définie sur NULL.
lpRemoteName
Ce membre doit spécifier le nom distant de la ressource réseau dont le parent est requis.
lpProvider
Ce membre doit spécifier le fournisseur réseau propriétaire de la ressource. Ce membre est obligatoire ; sinon, la fonction peut produire des résultats incorrects.
 

Tous les autres membres de la structure NETRESOURCE sont ignorés.

[out] lpBuffer

Pointeur vers une mémoire tampon pour recevoir une seule structure NETRESOURCE qui représente la ressource parente. La fonction retourne les membres lpRemoteName, lpProvider, dwType, dwDisplayType et dwUsage de la structure ; tous les autres membres sont définis sur NULL.

Le membre lpRemoteName pointe vers le nom distant de la ressource parente. Ce nom utilise la même syntaxe que celle retournée par une énumération par la fonction WNetEnumResource . L’appelant peut effectuer une comparaison de chaînes pour déterminer si la ressource WNetGetResourceParent est identique à celle retournée par WNetEnumResource. Si la ressource d’entrée n’a aucun parent sur l’un des réseaux, le membre lpRemoteName est retourné en tant que NULL.

La présence du bit RESOURCEUSAGE_CONNECTABLE dans le membre dwUsage indique que vous pouvez vous connecter à la ressource parente, mais uniquement lorsqu’elle est disponible sur le réseau.

[in, out] lpcbBuffer

Pointeur vers un emplacement qui, lors de l’entrée, spécifie la taille de la mémoire tampon lpBuffer , en octets. Si la mémoire tampon est trop petite pour contenir le résultat, cet emplacement reçoit la taille de mémoire tampon requise et la fonction retourne ERROR_MORE_DATA.

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_ACCESS_DENIED
L’appelant n’a pas accès à la ressource réseau.
ERROR_BAD_NET_NAME
Le membre lpRemoteName d’entrée n’est pas une ressource réseau existante pour un réseau.
ERROR_BAD_PROVIDER
Le membre lpProvider d’entrée ne correspond à aucun fournisseur réseau installé.
ERROR_MORE_DATA
La mémoire tampon pointée par le paramètre lpBuffer est trop petite.
ERROR_NOT_AUTHENTICATED
L’appelant ne dispose pas des autorisations nécessaires pour obtenir le nom du parent.

Remarques

La fonction WNetGetResourceParent est généralement utilisée conjointement avec la fonction WNetGetResourceInformation pour analyser et interpréter un chemin réseau tapé par un utilisateur.

Contrairement à la fonction WNetGetResourceInformation , si la ressource inclut un parent dans sa syntaxe, la fonction WNetGetResourceParent retourne le parent, que la ressource existe réellement ou non. WNetGetResourceParent doit généralement être utilisé uniquement par les applications qui affichent des ressources réseau à l’utilisateur de manière hiérarchique. Windows Explorer et la boîte de dialogue Ouvrir un fichier sont deux exemples bien connus de ce type d’application. Notez qu’aucune hypothèse ne doit être faite concernant le type de ressource qui sera retournée.

Vous pouvez appeler la fonction WNetEnumResource, WNetGetResourceInformation ou WNetGetResourceParent pour retourner des informations à partir de la structure NETRESOURCE . Vous pouvez également construire des informations sur les ressources réseau à l’aide des membres de la structure NETRESOURCE .

Un exemple d’utilisation inappropriée de WNetGetResourceParent consiste à déterminer le nom du domaine auquel appartient un serveur spécifié. La fonction peut retourner le nom de domaine correct pour certains réseaux dans lesquels les domaines apparaissent directement au-dessus des serveurs dans la hiérarchie de navigation. La fonction retourne des résultats incorrects pour d’autres réseaux.

Notes

L’en-tête winnetwk.h définit WNetGetResourceParent en tant qu’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

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceInformation

WNetGetUniversalName

Vue d’ensemble de Windows Networking (WNet)

Fonctions de mise en réseau Windows