![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
NetUserGetGroups [D7, WinXP]
Andrewk88 © (2006-07-31 02:09:00)Как обьявить функцию NetUserGetGroups. нифига понять не могу
Rouse_ (2006-07-31 16:10:00) [1]
> Andrewk88
Изучай: http://rouse.front.ru/domaininfo.zip
Сивый (2006-07-31 08:55:00) [2]Прошу прощения имя второго параметра в строке function NetUserGetLocalGroups(servername: LPCWSTR; groupname: LPCWSTR; ....
:-)))
Сивый (2006-07-31 08:50:00) [3]Вобще то NetUserGetGroups возвращает список глобальных групп, членом которых является указанный пользователь.
Если задача стоит в том что бы "в общем суть задачи получить имена всех пользователей группы" то тогда это можно сделать с помощью функции
NetUserGetLocalGroups, примерно так:
...
NET_API_STATUS = DWORD;
function NetUserGetLocalGroups(servername: LPCWSTR; username: LPCWSTR;
level: DWORD; flags: DWORD; var bufptr: Pointer; prefmaxlen:
DWORD; var entriesread: DWORD; var totalentries: DWORD):
NET_API_STATUS; stdcall; external 'netapi32.dll'
name 'NetUserGetLocalGroups';
function NetApiBufferFree(Buffer: Pointer): NET_API_STATUS; stdcall;
external 'Netapi32.dll';
....
type
TSostavInfo = record
lgrmi1_sid: PWideChar;
lgrmi1_sidusage: PWideChar;
lgrmi1_name: PWideChar;
end;
...
procedure TForm1.GetUserFromGroup(Group: String);
var entriesread,totalentries: DWORD;
resumehandle: DWord;
LG: ^TSostavInfo;
i: integer;
Sostav: TStringList;
begin
LG:=nil;
resumehandle:=0;
Sostav:=TStringList.Create;
NetLocalGroupGetMembers(nil ,StringToWideChar(Group),1,LG,
10000,entriesread,totalentries,resumehandle);
if LG<>nil then
for i:=1 to entriesread do
begin
Sostav.Add(WideCharToString(LG^.lgrmi1_name));
INC(LG,1);
end;
NetApiBufferFree(LG);
end;
AbrosimovA (2006-07-31 08:21:00) [4]Вот из JwaLM.pas:
function NetUserGetGroups; external netapi32lib name 'NetUserGetGroups';
{$EXTERNALSYM NetUserGetGroups}
function NetUserGetGroups(servername: LPCWSTR; username: LPCWSTR; level: DWORD;
var bufptr: Pointer; prefmaxlen: DWORD; var entriesread: DWORD;
var totalentries: DWORD): NET_API_STATUS; stdcall;
Andrewk88 (2006-07-31 03:27:00) [5]в общем суть задачи получить имена всех пользователей группы