Funzione NetSessionDel (lmshare.h)
Termina una sessione di rete tra un server e una workstation.
Sintassi
NET_API_STATUS NET_API_FUNCTION NetSessionDel(
[in] LMSTR servername,
[in] LMSTR UncClientName,
[in] LMSTR username
);
Parametri
[in] servername
Puntatore a una stringa che specifica il nome DNS o NetBIOS del server remoto in cui deve essere eseguita la funzione. Se questo parametro è NULL, viene utilizzato il computer locale.
[in] UncClientName
Puntatore a una stringa che specifica il nome computer del client da disconnettere. Se il parametro UncClientName è NULL, tutte le sessioni dell'utente identificate dal parametro username verranno eliminate nel server specificato dal parametro servername . Per altre informazioni, vedere NetSessionEnum.
[in] username
Puntatore a una stringa che specifica il nome dell'utente la cui sessione deve essere terminata. Se questo parametro è NULL, tutte le sessioni degli utenti dal client specificato dal parametro UncClientName devono essere terminate.
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene NERR_Success.
Se la funzione ha esito negativo, il valore restituito può essere uno dei codici di errore seguenti.
Codice restituito | Descrizione |
---|---|
|
L'utente non ha accesso alle informazioni richieste. |
|
Il parametro specificato non è valido. |
|
Memoria insufficiente disponibile. |
|
Una sessione non esiste con il nome del computer. |
Commenti
Solo i membri del gruppo locale Administrators o Server Operators possono eseguire correttamente la funzione NetSessionDel .
Se si esegue la programmazione per Active Directory, è possibile chiamare determinati metodi ADSI (Active Directory Service Interface) per ottenere la stessa funzionalità che è possibile ottenere chiamando le funzioni di sessione di gestione di rete. Per altre informazioni, vedere IADsSession e IADsFileServiceOperations.
Esempio
Nell'esempio di codice seguente viene illustrato come terminare una sessione tra un server e una workstation usando una chiamata alla funzione 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;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | lmshare.h (include Lm.h) |
Libreria | Netapi32.lib |
DLL | Netapi32.dll |