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 |
---|---|
|
Der Benutzer besitzt keinen Zugriff auf die angeforderten Informationen. |
|
Der angegebene Parameter ist ungültig. |
|
Nicht genügend Arbeitsspeicher ist verfügbar. |
|
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 |