다음을 통해 공유


NetShareCheck 함수(lmshare.h)

서버가 디바이스를 공유하고 있는지 여부를 확인합니다.

구문

NET_API_STATUS NET_API_FUNCTION NetShareCheck(
  [in]  LMSTR   servername,
  [in]  LMSTR   device,
  [out] LPDWORD type
);

매개 변수

[in] servername

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

[in] device

공유 액세스를 위해 검사 디바이스의 이름을 지정하는 문자열에 대한 포인터입니다.

[out] type

공유 디바이스의 유형을 지정하는 플래그의 비트 마스크를 수신하는 변수에 대한 포인터입니다. 이 매개 변수는 함수가 성공적으로 반환되는 경우에만 설정됩니다.

다음 플래그 중 하나를 지정할 수 있습니다.

의미
STYPE_DISKTREE
디스크 드라이브입니다.
STYPE_PRINTQ
인쇄 큐.
STYPE_DEVICE
통신 디바이스.
STYPE_IPC
IPC(Interprocess Communication).
 

또한 다음 플래그 중 하나 또는 둘 다를 지정할 수 있습니다.

의미
STYPE_SPECIAL
IPC$(프로세스 간 통신) 또는 서버의 원격 관리(ADMIN$)를 위해 예약된 특수 공유입니다. C$, D$, E$등과 같은 관리 공유를 참조할 수도 있습니다. 자세한 내용은 네트워크 공유 함수를 참조하세요.
STYPE_TEMPORARY
임시 공유입니다.

반환 값

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

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

반환 코드 설명
ERROR_NOT_ENOUGH_MEMORY
사용 가능한 메모리가 부족합니다.
NERR_DeviceNotShared
디바이스가 공유되지 않습니다.

설명

이 함수는 SMB(서버 메시지 블록) 공유에만 적용됩니다. DFS(분산 파일 시스템) 또는 WebDAV 공유와 같은 다른 유형의 공유의 경우 모든 유형의 공유 를 지원하는 WNet(Windows 네트워킹) 함수를 사용합니다.

NetShareCheck 함수를 성공적으로 실행하려면 특별한 그룹 멤버 자격이 필요하지 않습니다.

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

예제

다음 코드 샘플에서는 NetShareCheck 함수 호출을 사용하여 서버가 디바이스를 공유하는지 여부를 검사 방법을 보여 줍니다. 함수는 형식 매개 변수에 대한 이전 설명서에 설명된 대로 공유되는 디바이스 의 형식 을 반환합니다.

#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;
   DWORD devType = 0;

   if(argc<3)
      printf("Usage: NetShareCheck server device\n");
   else
   {
      //
      // Call the NetShareCheck function.
      //
      res=NetShareCheck(argv[1], argv[2], &devType);
      //
      // If the function succeeds, inform the user.
      //
      if(res==0)
         printf("Device is shared as type %u.\n",devType);
      //
      // Otherwise, print the error.
      //
      else
         printf("Error: %u\n", res);
   }
   return;
}

요구 사항

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

참고 항목

NetShareEnum

NetShareGetInfo

네트워크 관리 함수

네트워크 관리 개요

네트워크 공유 함수