NetShareCheck, fonction (lmshare.h)

Vérifie si un serveur partage un appareil.

Syntaxe

NET_API_STATUS NET_API_FUNCTION NetShareCheck(
  [in]  LMSTR   servername,
  [in]  LMSTR   device,
  [out] LPDWORD type
);

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é.

[in] device

Pointeur vers une chaîne qui spécifie le nom de l’appareil à case activée pour l’accès partagé.

[out] type

Pointeur vers une variable qui reçoit un masque de bits d’indicateurs qui spécifient le type de l’appareil partagé. Ce paramètre est défini uniquement si la fonction retourne correctement.

L’un des indicateurs suivants peut être spécifié.

Valeur Signification
STYPE_DISKTREE
Lecteur de disque.
STYPE_PRINTQ
File d’attente d’impression.
STYPE_DEVICE
Appareil de communication.
STYPE_IPC
Communication interprocessus (IPC).
 

En outre, l’un des indicateurs suivants ou les deux peuvent être spécifiés.

Valeur Signification
STYPE_SPECIAL
Partage spécial réservé à la communication interprocessus (IPC$) ou à l’administration à distance du serveur (ADMIN$). Peut également faire référence à des partages administratifs tels que C$, D$, E$, etc. Pour plus d’informations, consultez Fonctions de partage réseau.
STYPE_TEMPORARY
Partage temporaire.

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_NOT_ENOUGH_MEMORY
La mémoire disponible est insuffisante.
NERR_DeviceNotShared
L’appareil n’est pas partagé.

Notes

Cette fonction s’applique uniquement aux partages SMB (Server Message Block). Pour d’autres types de partages, tels que le système de fichiers distribué (DFS) ou les partages WebDAV, utilisez les fonctions de mise en réseau Windows (WNet), qui prennent en charge tous les types de partages.

Aucune appartenance à un groupe spécial n’est requise pour exécuter correctement la fonction NetShareCheck .

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 les fonctions de partage de gestion réseau. Pour plus d’informations, consultez IADsFileShare.

Exemples

L’exemple de code suivant montre comment case activée si un serveur partage un appareil, à l’aide d’un appel à la fonction NetShareCheck. La fonction retourne le type d’appareil partagé, comme décrit dans la documentation précédente pour le paramètre type .

#ifndef UNICODE
#define UNICODE
#endif
#include <windows.h>
#include <stdio.h>
#include <lm.h>
#pragma comment(lib, "Netapi32.lib")

void wmain( int argc, TCHAR *argv[ ])
{
   NET_API_STATUS res;
   DWORD devType = 0;

   if(argc<3)
      printf("Usage: NetShareCheck server device\n");
   else
   {
      //
      // Call the NetShareCheck function.
      //
      res=NetShareCheck(argv[1], argv[2], &devType);
      //
      // If the function succeeds, inform the user.
      //
      if(res==0)
         printf("Device is shared as type %u.\n",devType);
      //
      // Otherwise, print the error.
      //
      else
         printf("Error: %u\n", res);
   }
   return;
}

Configuration requise

   
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 (include Lm.h)
Bibliothèque Netapi32.lib
DLL Netapi32.dll

Voir aussi

NetShareEnum

NetShareGetInfo

Fonctions de gestion réseau

Vue d’ensemble de la gestion du réseau

Fonctions de partage réseau