Дежурный стрелочник
Группа: Участник
Сообщений: 33
|
Вот достал код (Builder C++)
Откомпилировал ниже приведенный код,но он не выдает информацию о шарингах на обычном сервере 2000 и также не выдает скрытые шаринги..выдает лишь шаринги на удаленном — в локальной сети компьютере у которого XP
как изменить этот код так, чтобы можно было выводить шаринги как с XP так и 2000 ых компов + скрытые ?
Да чуть не забыл на 2000 Server и 2000 Proffesional не установленны никакие фаерволы и защиты вообще никакой, хотя шаринги присутствуют как скрытые так и не скрытые.
Домен отсутствует — обычная рабочая группа.
TStringList* EnumShares2 (char* Address)
{
#define max_res 256
NETRESOURCE NetRes, NetResources [max_res];
// LPHANDLE hEnum;
HANDLE hEnum;
unsigned long Count = 0xFFFFFFFF, Size = max_res * sizeof (NETRESOURCE);
int Err;
TStringList *RES = new TStringList;
NetRes.lpRemoteName = Address;
NetRes.lpLocalName = 0;
NetRes.lpComment = 0;
NetRes.lpProvider = 0;
Err = WNetOpenEnum (RESOURCE_GLOBALNET, RESOURCETYPE_DISK,
RESOURCEUSAGE_CONNECTABLE, &NetRes, &hEnum);
if (Err != NO_ERROR)
{
RES->Add(AnsiString(Address) + ": error WNetOpenEnum");
return RES;
}
Err = WNetEnumResource (hEnum, &Count, NetResources, &Size);
if (Err != NO_ERROR)
RES->Add(AnsiString(Address) + ": error WNetEnumResource");
else
{
for (unsigned int i = 0; i < Count; i++)
{
RES->Add(NetResources[i].lpRemoteName);
Form1->ListBox1->Items->Add( NetResources[i].lpRemoteName);
}
}
WNetCloseEnum (hEnum);
return RES;
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
EnumShares2("\\\\RDB01");
}
|