Función NetSessionDel (lmshare.h)

Finaliza una sesión de red entre un servidor y una estación de trabajo.

Sintaxis

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

Parámetros

[in] servername

Puntero a una cadena que especifica el nombre DNS o NetBIOS del servidor remoto en el que se va a ejecutar la función. Si este parámetro es NULL, se usa el equipo local.

[in] UncClientName

Puntero a una cadena que especifica el nombre de equipo del cliente que se va a desconectar. Si el parámetro UncClientName es NULL, todas las sesiones del usuario identificadas por el parámetro username se eliminarán en el servidor especificado por el parámetro servername . Para obtener más información, consulte NetSessionEnum.

[in] username

Puntero a una cadena que especifica el nombre del usuario cuya sesión se va a finalizar. Si este parámetro es NULL, se finalizarán todas las sesiones de los usuarios del cliente especificados por el parámetro UncClientName .

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es NERR_Success.

Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes códigos de error.

Código devuelto Descripción
ERROR_ACCESS_DENIED
El usuario no tiene acceso a la información pedida.
ERROR_INVALID_PARAMETER
El parámetro especificado no es válido.
ERROR_NOT_ENOUGH_MEMORY
No hay suficiente memoria disponible.
NERR_ClientNameNotFound
No existe una sesión con ese nombre de equipo.

Comentarios

Solo los miembros del grupo local Administradores o Operadores de servidor pueden ejecutar correctamente la función NetSessionDel .

Si está programando para Active Directory, puede llamar a determinados métodos de interfaz de servicio de Active Directory (ADSI) para lograr la misma funcionalidad que puede lograr llamando a las funciones de sesión de administración de red. Para obtener más información, vea IADsSession e IADsFileServiceOperations.

Ejemplos

En el ejemplo de código siguiente se muestra cómo finalizar una sesión entre un servidor y una estación de trabajo mediante una llamada a la función 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;
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado lmshare.h (include Lm.h)
Library Netapi32.lib
Archivo DLL Netapi32.dll

Consulte también

NetSessionEnum

NetSessionGetInfo

Funciones de administración de redes

Introducción a la administración de redes

Funciones de sesión