Функция 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
Указывает уровень информации о данных. Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Возвращает идентификатор безопасности (SID), связанный с членом локальной группы. Параметр bufptr указывает на массив LOCALGROUP_MEMBERS_INFO_0 структур. |
|
Возвращает идентификатор безопасности и сведения об учетной записи, связанные с участником локальной группы. Параметр bufptr указывает на массив LOCALGROUP_MEMBERS_INFO_1 структур. |
|
Возвращает идентификатор безопасности, сведения об учетной записи и доменное имя, связанное с участником локальной группы. Параметр bufptr указывает на массив LOCALGROUP_MEMBERS_INFO_2 структур. |
|
Возвращает учетные записи и доменные имена участника локальной группы. Параметр 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.
Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
У пользователя нет доступа к запрошенной информации. |
|
Недопустимое имя компьютера. |
|
Доступны дополнительные записи. Укажите достаточно большой буфер для получения всех записей. |
|
Указанная локальная группа не существует. |
Комментарии
Если вы вызываете эту функцию на контроллере домена под управлением 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 |