Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение списка сетевых подключений 
:(
    Опции темы
Imir
Дата 27.10.2009, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 1.10.2008

Репутация: нет
Всего: 1



Доброго всем времени суток.

Проблема в следующем:
В Windows XP необходимо получить список всех "входящих подключений" (см рис. блок №1) если компьютер выступает в роли "ведомого". Это необходимо, чтобы можно было управлять этими подключениями, а вернее при необходимости разорвать (отключить).
К примеру используя функцию RasEnumEntries получается получить только список "прямых" подключений (см рис. блок №2). 

user posted image
PM MAIL   Вверх
Imir
Дата 28.10.2009, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 1.10.2008

Репутация: нет
Всего: 1



Задачу решил следующим образом:
Код

#include <windows.h>
#include <Mprapi.h>
#pragma comment(lib,"Mprapi.lib")

int _tmain(int argc, _TCHAR* argv[])
{
  MPR_SERVER_HANDLE phMprServer;
  if( MprAdminServerConnect(NULL,&phMprServer) != NO_ERROR) return 0;

  PRAS_CONNECTION_0 buf = NULL;
  DWORD EntriesRead,TotalEntries,Resume;
  EntriesRead=TotalEntries=Resume=0;
  if( MprAdminConnectionEnum(phMprServer,0,(BYTE**)&buf,-1,&EntriesRead,&TotalEntries,&Resume) != NO_ERROR ) return 0; //получаем список соединений "Входящие" (см рис блок№1)
  
  for( DWORD i=0; i < EntriesRead; i++) {
    PRAS_PORT_0 port = NULL;
    DWORD EntriesRead_port,TotalEntries_port,Resume_port;
    EntriesRead_port=TotalEntries_port=Resume_port=0;
    if( MprAdminPortEnum(phMprServer,0,buf[i].hConnection,(BYTE**)&port,-1,&EntriesRead_port,&TotalEntries_port,&Resume_port) != NO_ERROR ) continue;
    for( DWORD j=0;j<EntriesRead_port;j++) {
      if( MprAdminPortDisconnect(phMprServer,port[j].hPort) != NO_ERROR ) continue; //закрываем соединение
    }
    if( port != NULL) MprAdminBufferFree(port);
  }
  if( buf != NULL) MprAdminBufferFree(buf);
  return 0;
}


всем спасибо. smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0359 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.