Partager via


Fonction WNetGetResourceParentW (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 WNetGetResourceParentW(
  [in]      LPNETRESOURCEW 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 ; sinon, il doit être défini 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 pourrait 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 ont la valeur NULL.

Le membre lpRemoteName pointe vers le nom distant de la ressource parente. Ce nom utilise la même syntaxe que celle renvoyé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é comme NULL.

La présence du RESOURCEUSAGE_CONNECTABLE bit 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, tel qu’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 d’entrée lpRemoteName n’est pas une ressource réseau existante pour n’importe quel 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 vers 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 d’accès 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 les ressources réseau à l’utilisateur de manière hiérarchique. Le Explorer Windows et la boîte de dialogue Ouvrir le 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 renvoyer 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 comme un 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.

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