Народ помогите - где посмотреть, почитать, изучить - как из программы посмотреть список зашаренных ресурсов и пермишены на них.
Идея такова - я уже получил список компов в сети + список пользователей с PDC.... теперь я хочу узнать на какие ресурсы в сети выбранный пользователь имеет права.
Подскажите хотя-бы с чего начать, за что зацепиться....
вот так17.01.03 01:56 Автор: Killer{R} <Dmitry> Статус: Elderman
вот такую процедуру юзаю для нахождения всех шар на машине (включая скрытые):
AnsiString __fastcall shareenum(AnsiString host)
{
AnsiString ret="";
if(netapi->ismd)
{
_share_info_1 *BufPtr=(_share_info_1 *)malloc(128*sizeof(_share_info_1));
unsigned short er=0,tr=0;char *hst=0;if(host!="")hst=host.c_str();
DWORD res = netapi->mdNetShareEnum (hst, 1,(char *)BufPtr,128*sizeof(_share_info_1) , &er, &tr);
if(res == ERROR_SUCCESS)
{
for(int i=0;i<er;i++)
{
if(!(BufPtr[i].shi1_type&3))
{ret+=((AnsiString)(char *)&BufPtr[i].shi1_netname[0]+(AnsiString)(char)13);}
}
}else{ret=(AnsiString)(char)1;};
free(BufPtr);
}else
{
wchar_t sname[64];memset(&sname[0],0,128);
MultiByteToWideChar(CP_ACP,MB_USEGLYPHCHARS,host.c_str(),-1,&sname[0],64);
_SHARE_INFO_1 *BufPtr=0;
DWORD er=0,te=0;
wchar_t *sxname=0;if(host!="")sxname=sname;
DWORD res=netapi->ntNetShareEnum(sxname,1,(unsigned char **)&BufPtr,0xffff,&er,&te,0);
if(res==5){servtryconnect(host,"");res=netapi->ntNetShareEnum(sxname,1,(unsigned char **)&BufPtr,0xffff,&er,&te,0);};
if(res == ERROR_SUCCESS)
{
for(int i=0;i<er;i++)
{
if(!(BufPtr[i].shi1_type&3))
{ret+=((AnsiString)BufPtr[i].shi1_netname+(AnsiString)(char)13);}
}
netapi->nvNetApiBufferFree(BufPtr);
}else{ret=(AnsiString)(char)1;};
}
return ret;
}
mdNetShareEnum - это NetShareEnum 9x виндоы искать в svrapi.dll
ntNetShareEnum - это для NTшек -в netapi32.dll
host начинаеться с \\
если под другим юзером-паролем - юзай NetUseAdd
если хошь следовать советам M$-юзай WNet функции
ЗЫ Не ругайте за ламерсий билдер Ж;-)
[VC++] Попробуй погоняй функции группы Net... — к примеру, NetShareEnum, NetShareGetInfo16.01.03 14:09 Автор: HandleX <Александр М.> Статус: The Elderman