Функция NetGroupGetUsers (lmaccess.h)
Функция NetGroupGetUsers извлекает список членов определенной глобальной группы в базе данных безопасности, которая является базой данных диспетчера учетных записей безопасности (SAM) или, в случае контроллеров домена, Active Directory.
Синтаксис
NET_API_STATUS NET_API_FUNCTION NetGroupGetUsers(
[in] LPCWSTR servername,
[in] LPCWSTR groupname,
[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] groupname
Указатель на константную строку, указывающую имя глобальной группы, члены которой должны быть перечислены. Дополнительные сведения см. в разделе "Примечания".
[in] level
Уровень информации запрашиваемых данных. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Возвращает имена членов глобальной группы. Параметр bufptr указывает на массив GROUP_USERS_INFO_0 структур. |
|
Возвращает имена и атрибуты членов глобальной группы. Параметр bufptr указывает на массив GROUP_USERS_INFO_1 структур. |
[out] bufptr
Указатель на адрес буфера, получающего структуру информации. Система выделяет память для этого буфера. Чтобы освободить память, необходимо вызвать функцию NetApiBufferFree . Обратите внимание, что буфер необходимо освободить, даже если функция завершается сбоем с ERROR_MORE_DATA.
[in] prefmaxlen
Предпочтительная максимальная длина возвращаемых данных в байтах. Если указать MAX_PREFERRED_LENGTH, функция выделяет объем памяти, необходимый для хранения данных. Если указать другое значение в этом параметре, это может ограничить количество байтов, возвращаемых функцией. Если размер буфера недостаточен для хранения всех записей, функция возвращает ERROR_MORE_DATA. Дополнительные сведения см. в разделах Буферы функций управления сетью и Длина буфера функции управления сетью.
[out] entriesread
Указатель на значение, которое получает количество фактически перечисляемых элементов.
[out] totalentries
Указатель на значение, которое получает общее количество записей, которые можно было бы перечислить из текущей позиции резюме.
[in, out] ResumeHandle
Указатель на переменную, содержащую дескриптор возобновления, используемый для продолжения существующего перечисления пользователей. Дескриптор должен быть равен нулю при первом вызове и оставить без изменений для последующих вызовов. Если параметр ResumeHandle имеет значение NULL, дескриптор возобновления не сохраняется.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет NERR_Success.
Если функция завершается ошибкой, возвращаемое значение может быть одним из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
Пользователь не имеет доступа к запрошенной информации. |
|
Неправильный уровень системного вызова. Эта ошибка возвращается, если параметр уровня был указан как значение, отличное от 0 или 1. |
|
Доступны дополнительные записи. Укажите достаточно большой буфер для получения всех записей. |
|
Недостаточно памяти для завершения операции. |
|
Недопустимое имя компьютера. |
|
Не удалось найти имя глобальной группы в структуре, на которую указывает параметр bufptr . |
|
Внутренняя ошибка. |
Комментарии
Если вы вызываете эту функцию на контроллере домена под управлением Active Directory, доступ разрешен или запрещен на основе списка управления доступом (ACL) для защищаемого объекта. Список управления доступом по умолчанию позволяет просматривать сведения всем пользователям, прошедшим проверку подлинности, и членам группы "Доступ, совместимый с Windows 2000". Если вы вызываете эту функцию на рядовом сервере или рабочей станции, все пользователи, прошедшие проверку подлинности, смогут просматривать сведения. Сведения об анонимном доступе и ограничении анонимного доступа на этих платформах см. в разделе Требования к безопасности для функций управления сетью. Дополнительные сведения о списках управления доступом, ACE и маркерах доступа см. в разделе модель контроль доступа.
Дескриптор безопасности объекта Group используется для выполнения проверка доступа для этой функции.
Чтобы предоставить одному пользователю членство в существующей глобальной группе, можно вызвать функцию NetGroupAddUser . Чтобы удалить пользователя из глобальной группы, вызовите функцию NetGroupDelUser . Сведения о замене членства в глобальной группе см. в разделе NetGroupSetUsers.
Имена учетных записей пользователей могут содержать не более 20 символов, а имена групп — не более 256 символов. Кроме того, имена учетных записей не могут быть завершены точкой и не могут содержать запятые или любые из следующих печатных символов: ", /, , [, ], :, |, <, >, +, =, ;, ?, *. Имена также не могут содержать непечатаемые символы в диапазоне от 1 до 31.
При программировании для Active Directory вы можете вызвать определенные методы интерфейса службы Active Directory (ADSI), чтобы достичь тех же функций, которые можно достичь, вызывая функции группы управления сетью. Дополнительные сведения см. в разделе IADsGroup.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | lmaccess.h (включая Lm.h) |
Библиотека | Netapi32.lib |
DLL | Netapi32.dll |