Partager via


Fonction NetFileEnum (lmshare.h)

Retourne des informations sur certains ou tous les fichiers ouverts sur un serveur, en fonction des paramètres spécifiés.

Syntaxe

NET_API_STATUS NET_API_FUNCTION NetFileEnum(
  [in]      LMSTR      servername,
  [in]      LMSTR      basepath,
  [in]      LMSTR      username,
  [in]      DWORD      level,
  [out]     LPBYTE     *bufptr,
  [in]      DWORD      prefmaxlen,
  [out]     LPDWORD    entriesread,
  [out]     LPDWORD    totalentries,
  [in, out] PDWORD_PTR resume_handle
);

Paramètres

[in] servername

Pointeur vers une chaîne qui spécifie le nom DNS ou NetBIOS du serveur distant sur lequel la fonction doit s’exécuter. Si ce paramètre a la valeur NULL, l’ordinateur local est utilisé.

Cette chaîne est Unicode si _WIN32_WINNT ou FORCE_UNICODE est défini.

[in] basepath

Pointeur vers une chaîne qui spécifie un qualificateur pour les informations retournées. Si ce paramètre a la valeur NULL, toutes les ressources ouvertes sont énumérées. Si ce paramètre n’est pas NULL, la fonction énumère uniquement les ressources qui ont la valeur du paramètre basepath comme préfixe. (Un préfixe est la partie d’un chemin d’accès qui précède une barre oblique inverse.)

Cette chaîne est Unicode si _WIN32_WINNT ou FORCE_UNICODE est défini.

[in] username

Pointeur vers une chaîne qui spécifie le nom de l’utilisateur ou le nom de la connexion. Si la chaîne commence par deux barres obliques inverses (« \ »), elle indique le nom de la connexion, par exemple, « \127.0.0.1 » ou « \ClientName ». La partie du nom de connexion après les barres obliques inverses est identique au nom du client dans la structure d’informations de session retournée par la fonction NetSessionEnum . Si la chaîne ne commence pas par deux barres obliques inverses, elle indique le nom de l’utilisateur. Si ce paramètre n’est pas NULL, sa valeur sert de qualificateur pour l’énumération. Les fichiers retournés sont limités à ceux qui ont des noms d’utilisateur ou des noms de connexion qui correspondent au qualificateur. Si ce paramètre a la valeur NULL, aucun qualificateur de nom d’utilisateur n’est utilisé.

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Ce paramètre est un pointeur vers une chaîne qui spécifie le nom de l’utilisateur. Si ce paramètre n’est pas NULL, sa valeur sert de qualificateur pour l’énumération. Les fichiers retournés sont limités à ceux qui ont des noms d’utilisateur correspondant au qualificateur. Si ce paramètre a la valeur NULL, aucun qualificateur de nom d’utilisateur n’est utilisé.

Cette chaîne est Unicode si _WIN32_WINNT ou FORCE_UNICODE est défini.

[in] level

Spécifie le niveau d’informations des données. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
2
Retourne le numéro d’identification du fichier. Le paramètre bufptr pointe vers un tableau de structures FILE_INFO_2 .
3
Retourne des informations sur le fichier. Le paramètre bufptr pointe vers un tableau de structures FILE_INFO_3 .

[out] bufptr

Pointeur vers l’adresse de la mémoire tampon qui reçoit les informations. Le format de ces données dépend de la valeur du paramètre de niveau .

Cette mémoire tampon est allouée par le système et doit être libérée à l’aide de la fonction NetApiBufferFree . Notez que vous devez libérer la mémoire tampon même si la fonction échoue avec ERROR_MORE_DATA.

[in] prefmaxlen

Spécifie la longueur maximale préférée des données retournées, en octets. Si vous spécifiez MAX_PREFERRED_LENGTH, la fonction alloue la quantité de mémoire requise pour les données. Si vous spécifiez une autre valeur dans ce paramètre, cela peut limiter le nombre d’octets retournés par la fonction. Si la taille de la mémoire tampon est insuffisante pour contenir toutes les entrées, la fonction retourne ERROR_MORE_DATA. Pour plus d’informations, consultez Mémoires tampons de fonction de gestionréseau et Longueurs de mémoire tampon des fonctions de gestion réseau.

[out] entriesread

Pointeur vers une valeur qui reçoit le nombre d’éléments réellement énumérés.

[out] totalentries

Pointeur vers une valeur qui reçoit le nombre total d’entrées qui auraient pu être énumérées à partir de la position actuelle du CV. Notez que les applications doivent considérer cette valeur uniquement comme un indicateur.

[in, out] resume_handle

Pointeur vers une valeur qui contient un handle de CV utilisé pour poursuivre une recherche de fichiers existante. Le handle doit être égal à zéro lors du premier appel et rester inchangé pour les appels suivants. Si ce paramètre a la valeur NULL, aucun handle de reprise n’est stocké.

Valeur retournée

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

Si la fonction échoue, la valeur de retour peut être l’un des codes d’erreur suivants.

Code de retour Description
ERROR_ACCESS_DENIED
L’utilisateur n’a pas accès aux informations demandées.
ERROR_INVALID_LEVEL
La valeur spécifiée pour le paramètre de niveau n’est pas valide.
ERROR_MORE_DATA
D’autres entrées sont disponibles. Spécifiez une mémoire tampon suffisamment grande pour recevoir toutes les entrées.
ERROR_NOT_ENOUGH_MEMORY
La mémoire disponible est insuffisante.
NERR_BufTooSmall
La mémoire tampon fournie est trop petite.

Remarques

Seuls les membres du groupe local Administrateurs ou Opérateurs de serveur peuvent exécuter correctement la fonction NetFileEnum .

Vous pouvez appeler la fonction NetFileGetInfo pour récupérer des informations sur une ouverture particulière d’une ressource de serveur.

Si vous programmez pour Active Directory, vous pouvez peut-être appeler certaines méthodes ADSI (Active Directory Service Interface) pour obtenir les mêmes fonctionnalités que celles que vous pouvez obtenir en appelant NetFileEnum. Pour plus d’informations, consultez IADsResource et IADsFileServiceOperations.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête lmshare.h (inclure Lm.h)
Bibliothèque Netapi32.lib
DLL Netapi32.dll

Voir aussi

FILE_INFO_2

FILE_INFO_3

Fonctions NetFile

NetFileGetInfo

Fonctions de gestion réseau

Vue d’ensemble de la gestion du réseau