Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

в общем суть задачи получить имена всех пользователей группы


Наверх

Титульная страница Поиск, карта сайта Написать письмо