Программирование на C++ глазами хакера


Структура сети - часть 4


  • RESOURCE_GLOBALNET — все ресурсы сети;
  • RESOURCE_CONNECTED — подключенные ресурсы;
  • RESOURCE_REMEMBERED — запомненные ресурсы;
  • dwType — тип ресурсов, включаемых в перечисление. Возможны комбинации следующих значений:
    • RESOURCETYPE_ANY — все ресурсы сети;
    • RESOURCETYPE_DISK — сетевые диски;
    • RESOURCETYPE_PRINT — сетевые принтеры;
    • dwUsage — использование ресурсов, включаемых в перечисления. Возможны следующие значения:
      • 0 — все ресурсы сети;
      • RESOURCEUSAGE_CONNECTABLE — подключаемые;
      • RESOURCEUSAGE_CONTAINER — контейнерные;
      • lpNetResource — указатель на структуру NETRESOURCE. Если этот параметр равен нулю, то перечисление начинается с самой верхней ступени иерархии сетевых ресурсов. Ноль ставится для того, чтобы получить самый первый ресурс. Потом я передаю в качестве этого параметра указатель на уже найденный ресурс. Тогда перечисление начнется с него и продолжится дальше. Так я повторяю, пока не найдутся все ресурсы;
      • lphEnum — указатель, который понадобится В функции WnetEnumResource.
      • Теперь нужно рассмотреть структуру NETRESOURCE:

        typedef struct _NETRESOURCE { DWORD dwScope; DWORD dwType; DWORD dwDisplayType; DWORD dwUsage; LPTSTR lpLocalName; LPTSTR lpRemoteName; LPTSTR lpComment; LPTSTR lpProvider; } NETRESOURCE;

        Что такое dwScope, dwType и dwUsage, вы уже знаете. А вот остальные рассмотрим подробнее:

        • dwDisplayType — способ отображения ресурса:

        • RESOURCEDISPLAYTYPE_DOMAIN — это домен;
        • RESOURCEDISPLAYTYPE_GENERIC — нет значения;
        • RESOURCEDISPLAYTYPE_SERVER — сервер;
        • RESOURCEDISPLAYTYPE_SHARE — разделяемый ресурс;

      • lpLocalName — локальное имя;
      • lpRemoteName — удаленное имя;
      • lpComment — комментарий;
      • lpProvider — хозяин ресурса. Параметр может быть равен нулю, если хозяин неизвестен.
      • Теперь можно переходить к следующей функции:

        DWORD WNetEnumResource( HANDLE hEnum, // handle to enumeration LPDWORD lpcCount, // pointer to entries to list LPVOID lpBuffer, // pointer to buffer for results LPDWORD lpBufferSize // pointer to buffer size variable );




        Начало  Назад  Вперед



        Книжный магазин