Freigeben über


NetSessionDel-Funktion (lmshare.h)

Beendet eine Netzwerksitzung zwischen einem Server und einer Arbeitsstation.

Syntax

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

Parameter

[in] servername

Zeiger auf eine Zeichenfolge, die den DNS- oder NetBIOS-Namen des Remoteservers angibt, auf dem die Funktion ausgeführt werden soll. Wenn dieser Parameter NULL ist, wird der lokale Computer verwendet.

[in] UncClientName

Zeiger auf eine Zeichenfolge, die den Computernamen des Clients angibt, der getrennt werden soll. Wenn der UncClientName-ParameterNULL ist, werden alle Sitzungen des Benutzers, die durch den Username-Parameter identifiziert werden, auf dem Server gelöscht, der durch den Servername-Parameter angegeben wird. Weitere Informationen finden Sie unter NetSessionEnum.

[in] username

Zeiger auf eine Zeichenfolge, die den Namen des Benutzers angibt, dessen Sitzung beendet werden soll. Wenn dieser Parameter NULL ist, müssen alle Benutzersitzungen des durch den UncClientName-Parameter angegebenen Clients beendet werden.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NERR_Success.

Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Fehlercodes sein.

Rückgabecode Beschreibung
ERROR_ACCESS_DENIED
Der Benutzer besitzt keinen Zugriff auf die angeforderten Informationen.
ERROR_INVALID_PARAMETER
Der angegebene Parameter ist ungültig.
ERROR_NOT_ENOUGH_MEMORY
Nicht genügend Arbeitsspeicher ist verfügbar.
NERR_ClientNameNotFound
Eine Sitzung mit diesem Computernamen ist nicht vorhanden.

Hinweise

Nur Mitglieder der lokalen Gruppe Administratoren oder Serveroperatoren können die NetSessionDel-Funktion erfolgreich ausführen.

Wenn Sie für Active Directory programmieren, können Sie möglicherweise bestimmte ADSI-Methoden (Active Directory Service Interface) aufrufen, um die gleiche Funktionalität zu erreichen, die Sie durch Aufrufen der Netzwerkverwaltungssitzungsfunktionen erreichen können. Weitere Informationen finden Sie unter IADsSession und IADsFileServiceOperations.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine Sitzung zwischen einem Server und einer Arbeitsstation mithilfe eines Aufrufs der NetSessionDel-Funktion beendet wird.

#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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile lmshare.h (lm.h einschließen)
Bibliothek Netapi32.lib
DLL Netapi32.dll

Weitere Informationen

NetSessionEnum

NetSessionGetInfo

Netzwerkverwaltungsfunktionen

Übersicht über die Netzwerkverwaltung

Sitzungsfunktionen