NetSessionDel 함수(lmshare.h)

서버와 워크스테이션 간의 네트워크 세션을 종료합니다.

구문

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

매개 변수

[in] servername

함수를 실행할 원격 서버의 DNS 또는 NetBIOS 이름을 지정하는 문자열에 대한 포인터입니다. 이 매개 변수가 NULL이면 로컬 컴퓨터가 사용됩니다.

[in] UncClientName

연결을 끊을 클라이언트의 컴퓨터 이름을 지정하는 문자열에 대한 포인터입니다. UncClientName 매개 변수가 NULL이면 사용자 이름 매개 변수로 식별된 사용자의 모든 세션이 servername 매개 변수로 지정된 서버에서 삭제됩니다. 자세한 내용은 NetSessionEnum을 참조하세요.

[in] username

세션을 종료할 사용자의 이름을 지정하는 문자열에 대한 포인터입니다. 이 매개 변수가 NULL이면 UncClientName 매개 변수로 지정된 클라이언트의 모든 사용자 세션이 종료됩니다.

반환 값

함수가 성공하면 반환 값이 NERR_Success.

함수가 실패하면 반환 값은 다음 오류 코드 중 하나일 수 있습니다.

반환 코드 설명
ERROR_ACCESS_DENIED
사용자는 요청한 정보에 대한 액세스 권한이 없습니다.
ERROR_INVALID_PARAMETER
지정된 매개 변수가 잘못되었습니다.
ERROR_NOT_ENOUGH_MEMORY
사용 가능한 메모리가 부족합니다.
NERR_ClientNameNotFound
해당 컴퓨터 이름의 세션이 없습니다.

설명

관리자 또는 서버 연산자 로컬 그룹의 멤버만 NetSessionDel 함수를 성공적으로 실행할 수 있습니다.

Active Directory를 프로그래밍하는 경우 특정 ADSI(Active Directory Service Interface) 메서드를 호출하여 네트워크 관리 세션 함수를 호출하여 달성할 수 있는 동일한 기능을 달성할 수 있습니다. 자세한 내용은 IADsSessionIADsFileServiceOperations를 참조하세요.

예제

다음 코드 샘플에서는 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;
}

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 lmshare.h(Lm.h 포함)
라이브러리 Netapi32.lib
DLL Netapi32.dll

추가 정보

NetSessionEnum

NetSessionGetInfo

네트워크 관리 함수

네트워크 관리 개요

세션 함수