NetSessionDel, fonction (lmshare.h)

Met fin à une session réseau entre un serveur et une station de travail.

Syntaxe

NET_API_STATUS NET_API_FUNCTION NetSessionDel(
  [in] LMSTR servername,
  [in] LMSTR UncClientName,
  [in] LMSTR username
);

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] UncClientName

Pointeur vers une chaîne qui spécifie le nom d’ordinateur du client à déconnecter. Si le paramètre UncClientName a la valeur NULL, toutes les sessions de l’utilisateur identifié par le paramètre username sont supprimées sur le serveur spécifié par le paramètre servername . Pour plus d’informations, consultez NetSessionEnum.

[in] username

Pointeur vers une chaîne qui spécifie le nom de l’utilisateur dont la session doit être terminée. Si ce paramètre a la valeur NULL, les sessions de tous les utilisateurs du client spécifié par le paramètre UncClientName doivent être terminées.

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_PARAMETER
Le paramètre spécifié n’est pas valide.
ERROR_NOT_ENOUGH_MEMORY
La mémoire disponible est insuffisante.
NERR_ClientNameNotFound
Il n’existe pas de session avec ce nom d’ordinateur.

Remarques

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

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 session de gestion réseau. Pour plus d’informations, consultez IADsSession et IADsFileServiceOperations.

Exemples

L’exemple de code suivant montre comment arrêter une session entre un serveur et une station de travail à l’aide d’un appel à la fonction NetSessionDel .

#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "Netapi32.lib")

#include <stdio.h>
#include <windows.h> 
#include <lm.h>

int wmain(int argc, wchar_t *argv[])
{
   DWORD dwError = 0;
   LPTSTR pszServerName = NULL;
   LPTSTR pszClientName = NULL;
   LPTSTR pszUserName = NULL;
   NET_API_STATUS nStatus;
   //
   // Check command line arguments.
   //
   if (argc > 4)
   {
      wprintf(L"Usage: %s [\\\\ServerName] [\\\\ClientName] [UserName]\n", argv[0]);
      exit(1);
   }

   if (argc >= 2)
      pszServerName = argv[1];

   if (argc >= 3)
      pszClientName = argv[2];

   if (argc == 4)
      pszUserName = argv[3];
   //
   // Call the NetSessionDel function to delete the session.
   //
   nStatus = NetSessionDel(pszServerName,
                           pszClientName,
                           pszUserName);
   //
   // Display the result of the call.
   //
   if (nStatus == NERR_Success)
      fprintf(stderr, "The specified session(s) has been successfully deleted\n");
   else
      fprintf(stderr, "A system error has occurred: %d\n", nStatus);

   return 0;
}

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

Voir aussi

NetSessionEnum

NetSessionGetInfo

Fonctions de gestion réseau

Vue d’ensemble de la gestion du réseau

Fonctions de session