Функция 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
Возвращает идентификатор безопасности и сведения об учетной записи, связанные с участником локальной группы. Параметр bufptr указывает на массив LOCALGROUP_MEMBERS_INFO_1 структур.
2
Возвращает идентификатор безопасности, сведения об учетной записи и доменное имя, связанное с участником локальной группы. Параметр bufptr указывает на массив LOCALGROUP_MEMBERS_INFO_2 структур.
3
Возвращает учетные записи и доменные имена участника локальной группы. Параметр bufptr указывает на массив LOCALGROUP_MEMBERS_INFO_3 структур.

[out] bufptr

Указатель на адрес, который получает структуру возвращаемой информации. Формат этих данных зависит от значения параметра level . Этот буфер выделяется системой и должен быть освобожден с помощью функции NetApiBufferFree . Обратите внимание, что буфер необходимо освободить, даже если функция завершается сбоем с ERROR_MORE_DATA.

[in] prefmaxlen

Задает предпочтительную максимальную длину возвращаемых данных в байтах. Если указать MAX_PREFERRED_LENGTH, функция выделяет объем памяти, необходимый для данных. Если указать другое значение в этом параметре, это может ограничить количество байтов, возвращаемых функцией. Если размер буфера недостаточен для хранения всех записей, функция возвращает ERROR_MORE_DATA. Дополнительные сведения см. в разделах Буферы функций управления сетью и Длина буфера функции управления сетью.

[out] entriesread

Указатель на значение, которое получает количество фактически перечисляемых элементов.

[out] totalentries

Указатель на значение, которое получает общее количество записей, которые можно было бы перечислить из текущей позиции резюме.

[in, out] resumehandle

Указатель на значение, содержащее дескриптор возобновления, который используется для продолжения поиска существующих членов группы. Дескриптор должен быть равен нулю при первом вызове и оставить без изменений для последующих вызовов. Если этот параметр имеет значение NULL, дескриптор возобновления не сохраняется.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение будет NERR_Success.

Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов ошибок.

Код возврата Описание
ERROR_ACCESS_DENIED
У пользователя нет доступа к запрошенной информации.
NERR_InvalidComputer
Недопустимое имя компьютера.
ERROR_MORE_DATA
Доступны дополнительные записи. Укажите достаточно большой буфер для получения всех записей.
ERROR_NO_SUCH_ALIAS
Указанная локальная группа не существует.

Комментарии

Если вы вызываете эту функцию на контроллере домена под управлением Active Directory, доступ разрешен или запрещен на основе списка управления доступом (ACL) для защищаемого объекта. Список управления доступом по умолчанию позволяет просматривать сведения всем пользователям, прошедшим проверку подлинности, и членам группы "Доступ, совместимый с Windows 2000". Если вы вызываете эту функцию на рядовом сервере или рабочей станции, все пользователи, прошедшие проверку подлинности, смогут просматривать сведения. Сведения об анонимном доступе и ограничении анонимного доступа на этих платформах см. в разделе Требования к безопасности для функций управления сетью. Дополнительные сведения о списках управления доступом, ACE и маркерах доступа см. в разделе модель контроль доступа.

Дескриптор безопасности объекта LocalGroup используется для выполнения проверка доступа для этой функции.

Имена учетных записей пользователей ограничены 20 символами, а имена групп — 256 символами. Кроме того, имена учетных записей не могут быть завершены точкой и не могут содержать запятые или какие-либо из следующих печатных символов: ", /, , [, ], :, |, <, >, +, =, ;, ?, *. Имена также не могут содержать символы в диапазоне от 1 до 31, которые не могут быть печатными.

При программировании для Active Directory вы можете вызвать определенные методы интерфейса службы Active Directory (ADSI) для достижения тех же функциональных возможностей, которые можно достичь, вызвав функции локальной группы управления сетью. Дополнительные сведения см. в разделе IADsGroup.

Если эта функция возвращает ERROR_MORE_DATA, ее необходимо вызывать повторно, пока не будет возвращено ERROR_SUCCESS или NERR_success . В этом случае может возникнуть утечка RPC-подключения.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header 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

Функции управления сетью

Общие сведения об управлении сетью