NetLocalGroupGetMembers 함수(lmaccess.h)

NetLocalGroupGetMembers 함수는 보안 데이터베이스에서 특정 로컬 그룹의 멤버 목록(SAM(보안 계정 관리자) 데이터베이스 또는 도메인 컨트롤러의 경우 Active Directory를 검색합니다. 로컬 그룹 구성원은 사용자 또는 전역 그룹일 수 있습니다.

구문

NET_API_STATUS NET_API_FUNCTION NetLocalGroupGetMembers(
  [in]      LPCWSTR    servername,
  [in]      LPCWSTR    localgroupname,
  [in]      DWORD      level,
  [out]     LPBYTE     *bufptr,
  [in]      DWORD      prefmaxlen,
  [out]     LPDWORD    entriesread,
  [out]     LPDWORD    totalentries,
  [in, out] PDWORD_PTR resumehandle
);

매개 변수

[in] servername

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

[in] localgroupname

멤버가 나열될 로컬 그룹의 이름을 지정하는 상수 문자열에 대한 포인터입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

[in] level

데이터의 정보 수준을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
0
로컬 그룹 멤버와 연결된 SID( 보안 식별자 )를 반환합니다. bufptr 매개 변수는 LOCALGROUP_MEMBERS_INFO_0 구조체의 배열을 가리킵니다.
1
로컬 그룹 구성원과 연결된 SID 및 계정 정보를 반환합니다. bufptr 매개 변수는 LOCALGROUP_MEMBERS_INFO_1 구조체의 배열을 가리킵니다.
2
로컬 그룹 구성원과 연결된 SID, 계정 정보 및 도메인 이름을 반환합니다. bufptr 매개 변수는 LOCALGROUP_MEMBERS_INFO_2 구조체의 배열을 가리킵니다.
3
로컬 그룹 멤버의 계정 및 도메인 이름을 반환합니다. bufptr 매개 변수는 LOCALGROUP_MEMBERS_INFO_3 구조체의 배열을 가리킵니다.

[out] bufptr

반환 정보 구조를 수신하는 주소에 대한 포인터입니다. 이 데이터의 형식은 수준 매개 변수의 값에 따라 달라집니다. 이 버퍼는 시스템에서 할당되며 NetApiBufferFree 함수를 사용하여 해제해야 합니다. 함수가 ERROR_MORE_DATA 실패하더라도 버퍼를 해제해야 합니다.

[in] prefmaxlen

반환된 데이터의 기본 최대 길이(바이트)를 지정합니다. MAX_PREFERRED_LENGTH 지정하는 경우 함수는 데이터에 필요한 메모리 양을 할당합니다. 이 매개 변수에 다른 값을 지정하면 함수가 반환하는 바이트 수를 제한할 수 있습니다. 버퍼 크기가 모든 항목을 보유하기에 충분하지 않은 경우 함수는 ERROR_MORE_DATA 반환합니다. 자세한 내용은 네트워크 관리 함수 버퍼 및 네트워크관리 함수 버퍼 길이를 참조하세요.

[out] entriesread

실제로 열거된 요소 수를 받는 값에 대한 포인터입니다.

[out] totalentries

현재 다시 시작 위치에서 열거될 수 있는 총 항목 수를 수신하는 값에 대한 포인터입니다.

[in, out] resumehandle

기존 그룹 멤버 검색을 계속하는 데 사용되는 다시 시작 핸들이 포함된 값에 대한 포인터입니다. 핸들은 첫 번째 호출에서 0이어야 하며 후속 호출의 경우 변경되지 않은 상태로 유지되어야 합니다. 이 매개 변수가 NULL이면 다시 시작 핸들이 저장되지 않습니다.

반환 값

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

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

반환 코드 설명
ERROR_ACCESS_DENIED
사용자는 요청한 정보에 대한 액세스 권한이 없습니다.
NERR_InvalidComputer
컴퓨터 이름이 잘못된 경우
ERROR_MORE_DATA
더 많은 항목을 사용할 수 있습니다. 모든 항목을 받을 수 있을 만큼 큰 버퍼를 지정합니다.
ERROR_NO_SUCH_ALIAS
지정한 로컬 그룹이 없습니다.

설명

Active Directory를 실행하는 도메인 컨트롤러에서 이 함수를 호출하는 경우 보안 개체에 대한 ACL(액세스 제어 목록)에 따라 액세스가 허용되거나 거부됩니다. 기본 ACL은 "Pre-Windows 2000 호환 액세스" 그룹의 모든 인증된 사용자와 구성원이 정보를 볼 수 있도록 허용합니다. 멤버 서버 또는 워크스테이션에서 이 함수를 호출하는 경우 인증된 모든 사용자가 정보를 볼 수 있습니다. 이러한 플랫폼에서 익명 액세스 및 익명 액세스를 제한하는 방법에 대한 자세한 내용은 네트워크 관리 함수에 대한 보안 요구 사항을 참조하세요. ACL, ACL 및 액세스 토큰에 대한 자세한 내용은 Access Control 모델을 참조하세요.

LocalGroup 개체의 보안 설명자는 이 함수에 대한 액세스 검사 수행하는 데 사용됩니다.

사용자 계정 이름은 20자로 제한되고 그룹 이름은 256자로 제한됩니다. 또한 계정 이름은 마침표로 종료할 수 없으며 쉼표 또는 인쇄 가능한 문자 중 ", /, , [, ], :, |, <, , >+, =, ;, ?, *를 포함할 수 없습니다. 또한 이름은 인쇄할 수 없는 1-31 범위의 문자를 포함할 수 없습니다.

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

이 함수가 ERROR_MORE_DATA 반환하는 경우 ERROR_SUCCESS 또는 NERR_success 반환될 때까지 반복적으로 호출되어야 합니다. 이렇게 하지 않으면 RPC 연결이 누출 될 수 있습니다.

요구 사항

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

참고 항목

LOCALGROUP_MEMBERS_INFO_0

LOCALGROUP_MEMBERS_INFO_1

LOCALGROUP_MEMBERS_INFO_2

LOCALGROUP_MEMBERS_INFO_3

로컬 그룹 함수

NetLocalGroupEnum

NetLocalGroupGetInfo

NetLocalGroupSetMembers

네트워크 관리 함수

네트워크 관리 개요