Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2012, 11:56   #1
Антоним
Пользователь
 
Регистрация: 07.02.2012
Сообщений: 17
По умолчанию Работа с GetExtendedTcpTable

Приветствую!
Без долгих слов:

объявил указатель на структуру...
Код:
PMIB_TCPTABLE_OWNER_PID tPID;
Конструктор класса
Код:
CTCPTable::CTCPTable()
{
	tPID = NULL;
}
Инициализирую "таблицу"
Код:
bool CTCPTable::InitTcpTableEx()
{
	size = 0;
	DWORD result = 0;
	result = pGetTcpTableEx(tPID, &size, TRUE, AF_INET,TCP_TABLE_OWNER_PID_ALL, 0);
	while(result == ERROR_INSUFFICIENT_BUFFER)
	{
		if(tPID != NULL)
		{
			free(tPID);
		}
		result = pGetTcpTableEx(tPID, &size, TRUE, AF_INET, TCP_TABLE_OWNER_PID_ALL, 0);
		if(result == NO_ERROR)
		{
			MessageBox(NULL,"Ошибка","Невозможно инициализировать таблицу TCP",NULL );
			free(tPID);
			return false;
		}
	}
	if(result == NO_ERROR)
	{
		MessageBox(NULL,"Ошибка","Не удалось выделить память для TCP Table",NULL);
		return false;
	}
	return true;
}
Функция определения кол-ва соединений
Код:
DWORD CTCPTable::GetNumberOfEntries(void)
{
	if (tPID != NULL)
		return tPID->dwNumEntries;
	else 
		return 0;
}
в WndProc
Код:
...
CTCPTable *pTcp = new CTCPTable;
...
case ID_BTN_GET_TCP:
MessageBox(hWnd,LongToString(pTcp->GetNumberOfEntries()),"NumberOfEntries",MB_OK|MB_ICONINFORMATION);
Почему 0-то в сообщении?!

Благодарен любой подсказке...
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
Антоним вне форума Ответить с цитированием
Старый 12.06.2012, 17:43   #2
Антоним
Пользователь
 
Регистрация: 07.02.2012
Сообщений: 17
По умолчанию

Видать очень сложный вопрос
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
Антоним вне форума Ответить с цитированием
Старый 22.06.2012, 12:38   #3
Антоним
Пользователь
 
Регистрация: 07.02.2012
Сообщений: 17
По умолчанию

С очевидным ответом!
Так и должно быть!))
87 и 122 это значения ошибки ERROR_INSUFFICIENT_BUFFER и ERROR_INVALID_PARAMETER
Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер

Последний раз редактировалось Антоним; 22.06.2012 в 12:41.
Антоним вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
указатель this Madmaxisss Visual C++ 7 25.07.2011 23:31
*указатель = *указатель tiger() Общие вопросы C/C++ 7 10.05.2011 12:49
указатель на указатель петя иванов Общие вопросы C/C++ 5 10.04.2011 02:23
Указатель this Golovastik Общие вопросы C/C++ 8 16.01.2010 10:30
(!)указатель на указатель(!) (C)stalin(Cpp) Общие вопросы C/C++ 0 07.06.2009 15:32