Определение Скрытых шаров

Тема в разделе "WASM.BEGINNERS", создана пользователем bakuri, 15 авг 2005.

  1. bakuri

    bakuri New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2005
    Сообщения:
    5
    Если кто в курсе как мне определить все шаринги конкретного компьютера, включая скрытые ?
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    bakuri

    Используй NetShareEnum. Исходников в сети полно. Включая пример в описании данной функции на msdn.
     
  3. bakuri

    bakuri New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2005
    Сообщения:
    5
    Да

    Но эти исходники не определяют скрытых шаров и шаров на 2000 ом
     
  4. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    bakuri

    Не понял. :dntknw:

    Функция, будучи запущена из под w2k, не возвращает в списке ресурсов - скрытых, или не возвращает скрытых ресурсов с w2k сервера, или ты не нашел готового решения?
     
  5. bakuri

    bakuri New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2005
    Сообщения:
    5
    Ребята я был на MSDN.COM взял вот этот исходник (делаю под Builder для определения скрытых и не скрытых ресурсов локальных компьютеров под XP и 2000 на которых не установленны фаерволы и никакой защиты), но он вообще не работает..

    Прошу вас помогите





    PSHARE_INFO_502 BufPtr,p;

    NET_API_STATUS res;

    LPTSTR lpszServer = NULL;

    DWORD er=0,tr=0,resume=0, i;



    lpszServer = "\\\\ind01";



    do // begin do

    {

    res = NetShareEnum (WideString(lpszServer), 502, (LPBYTE *) &BufPtr, -1, &er, &tr, &resume);

    //

    // If the call succeeds,

    //

    if(res == ERROR_SUCCESS || res == ERROR_MORE_DATA)

    {

    p=BufPtr;

    //

    // Loop through the entries;

    // print retrieved data.

    //

    for(i=1;i<=er;i++)

    {

    Memo1->Lines->Add(p->shi502_netname);

    Memo1->Lines->Add(p->shi502_path);

    Memo1->Lines->Add( p->shi502_current_uses);

    // , p->shi502_path, p->shi502_current_uses);

    //

    // Validate the value of the

    // shi502_security_descriptor member.

    //

    if (IsValidSecurityDescriptor(p->shi502_security_descriptor))

    printf("Yes\n");

    else

    printf("No\n");

    p++;

    }

    //

    // Free the allocated buffer.

    //

    NetApiBufferFree(BufPtr);

    }

    else

    printf("Error: %ld\n",res);

    }

    // Continue to call NetShareEnum while

    // there are more entries.

    //

    while (res==ERROR_MORE_DATA); // end do

    return;
     
  6. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    bakuri

    он вообще не работает

    В чем это выражается?

    Кто научил тебя так описывать проблему?

    Тебе понравится ответ "А у меня работает"?



    Ты хочешь, чтобы кто-нибудь запостил нечто подобное
    Код (Text):
    1. ...
    2. void __fastcall TForm1::Button1Click(TObject *Sender)
    3. {
    4. // здесь готовый код
    5.   ...
    6. }
    7. ...




    был на MSDN.COM взял вот этот исходник ...

    Зачем копировать его сюда? Afaik достаточно ссылки.
     
  7. bakuri

    bakuri New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2005
    Сообщения:
    5
    Сорри

    Все

    Я сделал

    Все заработало