Partager via


WNetGetResourceInformationA, fonction (winnetwk.h)

Lorsqu’elle est fournie avec un chemin d’accès distant à une ressource réseau, la fonction WNetGetResourceInformation identifie le fournisseur de réseau propriétaire de la ressource et obtient des informations sur le type de la ressource. La fonction est généralement utilisée conjointement avec la fonction WNetGetResourceParent pour analyser et interpréter un chemin d’accès réseau tapé par un utilisateur.

Syntaxe

DWORD WNetGetResourceInformationA(
  [in]      LPNETRESOURCEA lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpcbBuffer,
  [out]     LPSTR          *lplpSystem
);

Paramètres

[in] lpNetResource

Pointeur vers une structure NETRESOURCE qui spécifie la ressource réseau pour laquelle les informations sont requises.

Le lpRemoteName membre de la structure doit spécifier le nom du chemin d’accès distant de la ressource, généralement un tapé par un utilisateur. Le lpProvider et les membres dwType doivent également être renseignés s’ils sont connus, car cette opération peut être gourmande en mémoire, en particulier si vous ne spécifiez pas le membre dwType. Si vous ne connaissez pas les valeurs de ces membres, vous devez les définir sur NULL. Tous les autres membres de la structure NETRESOURCE sont ignorés.

[out] lpBuffer

Pointeur vers la mémoire tampon pour recevoir le résultat. Lors d’un retour réussi, la première partie de la mémoire tampon est une structure NETRESOURCE représentant cette partie du chemin de ressource d’entrée accessible via les fonctions WNet, plutôt que par le biais de fonctions système propres au type de ressource d’entrée. (Le reste de la mémoire tampon contient les chaînes de longueur variable auxquelles les membres de la NETRESOURCE point de structure.)

Par exemple, si le chemin d’accès à la ressource distante d’entrée est \server\share\dir1\dir2, la sortie neTRESOURCE structure contient des informations sur la ressource \server\share. La partie \dir1\dir2 du chemin d’accès est accessible via les fonctions de gestion de fichiers . LelpRemoteName , lpProvider, dwType, dwDisplayType, et membres dwUsage NETRESOURCE sont renvoyés, avec tous les autres membres définis sur NULL.

Le membre lpRemoteName est retourné dans la même syntaxe que celle retournée par une énumération par la fonction WNetEnumResource. Cela permet à l’appelant d’effectuer une comparaison de chaînes pour déterminer si la ressource passée à WNetGetResourceInformation est identique à la ressource retournée par un appel distinct à WNetEnumResource.

[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. La mémoire tampon que vous allouez doit être suffisamment grande pour contenir la structure NETRESOURCE, ainsi que les chaînes auxquelles ses membres pointent. Si la mémoire tampon est trop petite pour le résultat, cet emplacement reçoit la taille de mémoire tampon requise et la fonction retourne ERROR_MORE_DATA.

[out] lplpSystem

Si la fonction retourne correctement, ce paramètre pointe vers une chaîne dans la mémoire tampon de sortie qui spécifie la partie de la ressource accessible via les fonctions système. (Cela s’applique uniquement aux fonctions spécifiques au type de ressource plutôt qu’aux fonctions WNet.)

Par exemple, si le nom de la ressource distante d’entrée est \server\share\dir1\dir2, le lpRemoteName membre de la sortie NETRESOURCE structure pointe vers \server\share. En outre, le paramètre lplpSystem pointe vers \dir1\dir2. Les deux chaînes sont stockées dans la mémoire tampon pointée par le paramètre lpBuffer.

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_BAD_NET_NAME
L’entrée lpRemoteName membre n’est pas une ressource réseau existante pour un réseau.
ERROR_BAD_DEV_TYPE
Le membre d’entrée dwType ne correspond pas au type de ressource spécifié par le membre lpRemoteName.
ERROR_EXTENDED_ERROR
Une erreur spécifique au réseau s’est produite. Appelez WNetGetLastError pour obtenir une description de l’erreur.
ERROR_MORE_DATA
La mémoire tampon pointée par le paramètre lpBuffer est trop petite.
ERROR_NO_NETWORK
Le réseau n’est pas disponible.

Remarques

Note

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

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceParent

WNetGetUniversalName

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

fonctions de mise en réseau Windows