NetShareDel 함수(lmshare.h)
공유 리소스에 대한 모든 연결이 끊어지도록 서버의 공유 리소스 목록에서 공유 이름을 삭제합니다.
확장 함수 NetShareDelEx 를 사용하면 호출자가 SHARE_INFO_0, SHARE_INFO_1, SHARE_INFO_2, SHARE_INFO_502 또는 SHARE_INFO_503 구조를 지정할 수 있습니다 .
구문
NET_API_STATUS NET_API_FUNCTION NetShareDel(
[in] LMSTR servername,
[in] LMSTR netname,
DWORD reserved
);
매개 변수
[in] servername
함수를 실행할 원격 서버의 DNS 또는 NetBIOS 이름을 지정하는 문자열에 대한 포인터입니다. 이 매개 변수가 NULL이면 로컬 컴퓨터가 사용됩니다.
_WIN32_WINNT 또는 FORCE_UNICODE 정의된 경우 이 문자열은 유니코드입니다.
[in] netname
삭제할 공유의 이름을 지정하는 문자열에 대한 포인터입니다.
_WIN32_WINNT 또는 FORCE_UNICODE 정의된 경우 이 문자열은 유니코드입니다.
reserved
예약됨, 0이어야 합니다.
반환 값
함수가 성공하면 반환 값이 NERR_Success.
함수가 실패하면 반환 값은 다음 오류 코드 중 하나일 수 있습니다.
반환 코드 | 설명 |
---|---|
|
사용자는 요청한 정보에 대한 액세스 권한이 없습니다. |
|
지정된 매개 변수가 잘못되었습니다. |
|
사용 가능한 메모리가 부족합니다. |
|
공유 이름이 없습니다. |
설명
이 함수는 SMB(서버 메시지 블록) 공유에만 적용됩니다. DFS(분산 파일 시스템) 또는 WebDAV 공유와 같은 다른 유형의 공유의 경우 모든 유형의 공유 를 지원하는 WNet(Windows 네트워킹) 함수를 사용합니다.
관리자, 서버 운영자 또는 Power Users 로컬 그룹의 구성원 또는 서버 운영자 그룹 멤버 자격이 있는 멤버만 NetShareDel 함수를 호출하여 파일 공유를 성공적으로 삭제할 수 있습니다. 인쇄 연산자는 프린터 공유를 삭제할 수 있습니다.
Active Directory를 프로그래밍하는 경우 특정 ADSI(Active Directory Service Interface) 메서드를 호출하여 네트워크 관리 공유 함수를 호출하여 달성할 수 있는 동일한 기능을 달성할 수 있습니다. 자세한 내용은 IADsFileShare를 참조하세요.
예제
다음 코드 샘플에서는 NetShareDel 함수 호출을 사용하여 공유를 삭제하는 방법을 보여 줍니다.
#ifndef UNICODE
#define UNICODE
#endif
#include <windows.h>
#include <stdio.h>
#include <lm.h>
#pragma comment(lib, "Netapi32.lib")
void wmain( int argc, TCHAR *argv[ ])
{
NET_API_STATUS res;
if(argc<3)
printf("Usage: NetShareDel server share\n");
else
{
//
// Call the NetShareDel function to delete the share.
//
res=NetShareDel(argv[1], argv[2], 0);
//
// Display the result of the call.
//
if(res==0)
printf("Share Removed.\n");
else
printf("Error: %u\n", res);
}
return;
}
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | lmshare.h(Lm.h 포함) |
라이브러리 | Netapi32.lib |
DLL | Netapi32.dll |