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

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

Net Share [D6, WinXP]


sirin ©   (2004-09-16 18:02:00) 

Для поиска шар в сети использую ф-цию NetShareEnum
Обьявление: function NetShareEnum(ServerName: LPWSTR;
Level: DWORD; BufPtr: Pointer; prefmaxlen: DWORD;
var entriesread, totalentries, resume_handle: DWORD): DWORD; stdcall;
external 'Netapi32.dll' name 'NetShareEnum';

Использование
var
Buf: pSHARE_INFO_0;
 entriesread, totalentries, resume_handle: DWORD;
 ServerName: PWideChar;
 e: Dword;
 I: integer;
begin
 lbxShares.Clear;
 entriesread := 0;
 totalentries := 0;
 resume_handle := 0;
 GetMem(ServerName, 2*Length(edit1.Text) + 2);
 StringToWideChar(edit1.Text, ServerName, Length(edit1.Text)*2 + 2);
 e := NetShareEnum(ServerName, 0, @Buf, DWORD(-1), entriesread, totalentries, resume_handle);
 if (e = NO_ERROR) or (e = ERROR_MORE_DATA) then
 begin
   for i := 0 to totalentries - 1 do
   begin
     lbxShares.Items.Add(Buf^[i].shi0_netname);
     end;
 end;
 FreeMem(ServerName);
end;


Передаваемая структура :

type
   _SHARE_INFO_0 = record
     shi0_netname: LPWSTR;
 end;
 SHARE_INFO_0 = array [0..511] of _SHARE_INFO_0;
 PSHARE_INFO_0 = ^SHARE_INFO_0;


Шары находит, но только на машинах NT
Что нужно сделать, чтобы искать и на NT и на 9X?
Подозреваю, что нужно использовать другую структуру, но при собственных экспериментах результата не добился, а в хелпе по этому ничего нет :(


Rouse_   (2004-09-16 20:35:00) [1]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1091738810&n=4
5-й пост...


Наверх

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