C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: NetLocalGroupGetMembers  (Прочитано 3488 раз)
КОИБАС
Участник


Сказали спасибо: +1/-1
Offline

Сообщений: 47


NetLocalGroupGetMembers
« : 09 Апрель 2010, 13:06:40 »

Здравствуйте! Хочу получить список администраторов на компе. Что не так делаю?какие то цыфры появляются=(

LOCALGROUP_MEMBERS_INFO_1 *qwerty;
DWORD entriesRead=0;
DWORD totalEntries=0;
DWORD resumeHandle=0;
q = NetLocalGroupGetMembers(NULL,L"Администраторы",0,(LPBYTE*)&qwerty,1024, &entriesRead, &totalEntries, &resumeHandle);
Memo1->Lines->Add(qwerty->lgrmi1_name[1] );
Записан
КОИБАС
Участник


Сказали спасибо: +1/-1
Offline

Сообщений: 47


Re: NetLocalGroupGetMembers
« Ответ #1 : 11 Апрель 2010, 18:19:44 »

АП темке
Записан
КОИБАС
Участник


Сказали спасибо: +1/-1
Offline

Сообщений: 47


Re: NetLocalGroupGetMembers
« Ответ #2 : 12 Апрель 2010, 19:37:47 »

никто не знает как помочь чтоли?
Записан
Exhale
Нужно делать так как нужно, а так как не нужно делать не нужно
Участник


Сказали спасибо: +36/-9
Offline

Сообщений: 247

TDD, XP


Re: NetLocalGroupGetMembers
« Ответ #3 : 12 Апрель 2010, 21:59:45 »

Добрый вечер.
Ошибки указывать не буду. Думаю поймете сами
Код:

// NET_API_STATUS NetLocalGroupGetMembers(
// LPCWSTS servername, имя сервера. Строка Unicode и начинается с \\. Если локально, то просто NULL
// LPCWSTS localgroupname, имя локальной группы. Строка Unicode
// DWORD level, уровень информации. Тип структуры которая используется
// LPBYTE *bufptr, бумер ифнормер. Адрес указателя, пишет адрес буфера с инфой о юзерах *
// DWORD prefmaxlen дила буфера. Можно(нужно:)) установить MAX_PREFERRED_LENGTH
// LPDWORD entriesread,         количество прочитанных структур
// LPDWORD totalentries,         общее количество структур
// LPDWORD resumehandle         дескриптор для продолжения. обычно null
// );
// *После прочтения инфы память надо освободить функцией NetApiBufferFree.

// также после возврата ошибки ERROR_MORE_DATA

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "windows.h"
#include "lm.h"


#pragma comment(lib, "netapi32.lib")


int _tmain()
{
wchar_t group[256] = L"Администраторы";

DWORD read_users;
DWORD total_users;

LOCALGROUP_MEMBERS_INFO_1 *member_info = NULL;

NET_API_STATUS ret_status;

ret_status = NetLocalGroupGetMembers(NULL,
      group,
      1,
      (LPBYTE*)&member_info,
      MAX_PREFERRED_LENGTH,
              &read_users,
      &total_users,
      NULL);
if(ret_status != NERR_Success){
printf("net local group get members failed. \n");
NetApiBufferFree(member_info);

return ret_status;
}

for(DWORD i = 0; i wprintf(L"The group member: %s \n", member_info[i].lgrmi1_name);

NetApiBufferFree(member_info);
wprintf(L"\nPress any key. . . \n");
    while(!getch()) return 0;
}

Записан
КОИБАС
Участник


Сказали спасибо: +1/-1
Offline

Сообщений: 47


Re: NetLocalGroupGetMembers
« Ответ #4 : 13 Апрель 2010, 05:09:15 »

Благодарю очень сильно) вижимо ошибка была в уровне )
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.041 секунд. Запросов: 22.