Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Помогите с NETAPI32.DLL

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Apdent
Гость





СообщениеДобавлено: Чт Июл 01 2004 12:48    Заголовок сообщения: Помогите с NETAPI32.DLL Ответить с цитатой

Короче ситуация такая, я делаю программульку для сканирования сетевыхшар.
для этого использую функцию NetShareEnum ,её синтаксис:
Код:

NetShareEnum :function (ServerName   :PWChar;
                             Level      :DWORD;
                             Bufptr      :Pointer;
                             Prefmaxlen   :DWORD;
                             EntriesRead,
                             TotalEntries,
                             resume_handle:LPDWORD): DWORD; stdcall;

далее создаю структуру для работы этой функции:
Код:

type
 TShareInfo2 = packed record
  shi2_netname          : PWChar;
  shi2_type         : DWORD;
  shi2_remark          : PWChar;
  shi2_permissions      : DWORD;
  shi2_max_uses       : DWORD;
  shi2_current_uses       : DWORD;
  shi2_path          : PWChar;
  shi2_passwd          : PWChar;
 end;
 PShareInfo2 = ^TShareInfo2;
 TShareInfo2Array = array [0..512] of TShareInfo2;
 PShareInfo2Array = ^TShareInfo2Array;


потом юзаюсь этим всем в таком контексте
Код:

 FLibHandle := LoadLibrary('NETAPI32.DLL');
    if FLibHandle = 0 then Exit;

    @NetShareEnumNT := GetProcAddress(FLibHandle,'NetShareEnum');
    if not Assigned(NetShareEnum) then
    begin
      FreeLibrary(FLibHandle);
      Exit;   
    end;
    ShareNT := nil;    //Вызов функции
    if NetShareEnum(nil,2,@ShareNT,DWORD(-1),
             @entriesread,@totalentries,nil) <> 0 then
    begin
      FreeLibrary(FLibHandle);
      Exit;
    end;
    if entriesread > 0 then
    for i:= 0 to entriesread - 1 do 
            listbox.Items.Add(String(ShareNT^[i].shi2_netname));



и при работе в таком контексте на локальной машине, она всё показывает, но на удалённых нифига не робит....
Вернуться к началу
Andy_user



Зарегистрирован: 03.12.2003
Сообщения: 382
Откуда: Санкт-Петербург

СообщениеДобавлено: Чт Июл 01 2004 16:17    Заголовок сообщения: Ответить с цитатой

Кусок из хелпа по Windows SDK:
The NetShareEnum function is obsolete. It is provided only for compatibility with LAN Manager and 16-bit versions of Windows. Win32-based applications should use the WNetEnumResource function.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...