Я хочу получить пользователей группы, используя функцию NetGroupGetUsers
.
DWORD dwError = 0;
NET_API_STATUS nStatus;
LPDWORD entriesread=0;
LPDWORD totalentries=0;
LPBYTE *buff;
nStatus=NetGroupGetUsers(NULL,L"Users",0,buff,MAX_PREFERRED_LENGTH,
entriesread,totalentries,NULL);
Когда я использую это, я получаю эту ошибку;
xC0000005: Access violation reading location 0xffffffffffffffff.
И как я могу прочитать баффкогда это работает?А также я попробовал это;
GROUP_USERS_INFO_0 *buff;
nStatus=NetGroupGetUsers(NULL,L"Users",0,(LPBYTE*)&buff,MAX_PREFERRED_LENGTH,
entriesread,totalentries,NULL);
, но произошла та же ошибка.
РЕДАКТИРОВАТЬ: значение nStatus равно NERR_GroupNotFound
Я думаю, что причиной нарушения доступа является попытка прочитать бафф, который не 'на самом деле установлено.
РЕДАКТИРОВАТЬ 2: я использовал эту функцию NetLocalGroupGetMembers
.сейчас это дает успех, но buff->grui0_name
не имеет смысла.есть пользователь с именем "ali", но значение buff->grui0_name
просто "d".ЧТО Я ДЕЛАЮ НЕПРАВИЛЬНО?
Последний код;
LPCWSTR TargetGroup = L"group1";
DWORD dwError = 0;
NET_API_STATUS stat;
GROUP_USERS_INFO_0 *buff;
LPDWORD entriesread=new DWORD;
LPDWORD totalentries=new DWORD;
stat=NetGroupGetUsers(NULL,TargetGroup,0,(LPBYTE *)&buff,MAX_PREFERRED_LENGTH,
entriesread,totalentries,NULL);
для РЕДАКТИРОВАНИЯ 2;
stat=NetLocalGroupGetMembers(NULL,TargetGroup,0,(LPBYTE *)&buff,
MAX_PREFERRED_LENGTH,entriesread,totalentries,NULL);
Пожалуйста, помогите ...