Вернуться   CoderX :: Forums > Основные форумы > Полезности
Войти через OpenID

Полезности Исключительно для полезных тем из других разделов.
Темы тут не создаются!
Темы сюда перемещаются из других разделов, и на их старых местах остаются постоянные перенаправления.

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 22.08.2012, 00:41   #1
Новичок
 
Аватар для Mlex
 
Регистрация: 01.02.2011
Сообщений: 16
Сказал Спасибо: 15
Имеет 0 спасибок в 0 сообщенях
Mlex пока неопределено
По умолчанию

Привет всем. Есть вопрос по поводу перехвата UNetworkHandler:ispatchNetworkQueue(NetworkPacke t * *)
Я не могу понять как работать с "NetworkPacket * *" что значат две звездочки? указатель на указатель?
и как получить доступ к пакету если указатель на указатель? делаю так:
Код:
UNetworkHandler_DispatchNetworkQueue_hook(UNetworkHandler* This, int fEDX, NetworkPacket** packet)
{
	UNH = This;
	
	if (mSocket.Connected())
	{
		SendToBot(BOT_PKTTYPE_FROM_SERVER, (*packet)->id, (*packet)->subId, (*packet)->size, (*packet)->data);
	}

	return (*UNetworkHandler_DispatchNetworkQueue)(UNH, fEDX, packet);
}
Клиент критует, если убрать отсылку пакета боту(закомментить IF блок) то все работает нормально. Т.е. получается перехват работает, а доступ к пакету - критует. Что не так - не могу понять подскажите?

ЗЫ: ошибки в методе SendToBot быть не может, проверяю отправку через перехваченную функцию UNetworkHandler_AddNetworkQueue_hook(UNetworkHandl er* This, int fEDX /*edx*/, NetworkPacket* packet) все отлично работает, но юзать эту функцию не хочу т.к. палится.
__________________
Ничего не умею
Mlex вне форума   Ответить с цитированием
Старый 22.08.2012, 00:58   #2
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

Mlex, что ты такое уже мутишь?
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Yegor вне форума   Ответить с цитированием
Старый 22.08.2012, 08:46   #3
Пользователь
 
Регистрация: 27.08.2010
Сообщений: 46
Сказал Спасибо: 6
Имеет 19 спасибок в 12 сообщенях
maxilam пока неопределено
По умолчанию

Цитата:
Сообщение от Mlex Посмотреть сообщение
Я не могу понять как работать с "NetworkPacket * *" что значат две звездочки? указатель на указатель?
Да, это указатель на указатель.
Советую прочитать это тему от начала и до конца, скил по хукам возрастет в несколько раз. вопрос по перехвату этой функции задавался в этой теме несколько раз и даже приводились готовые куски кода (правда на дельфи). Не ленись, вдумчиво изучи тему, много чего полезного узнаешь
maxilam вне форума   Ответить с цитированием
Старый 24.08.2012, 10:15   #4
Новичок
 
Аватар для Mlex
 
Регистрация: 01.02.2011
Сообщений: 16
Сказал Спасибо: 15
Имеет 0 спасибок в 0 сообщенях
Mlex пока неопределено
По умолчанию

maxilam, спасибо - было дело - перечитывал тему. С пакетом разобрался - просто не всегда указатель указывает на указатель - иногда на 0 Ведь функция вызывается в цикле потока и не всегда есть пакет который нужно обрабатывать все оказалось проще.
__________________
Ничего не умею
Mlex вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Полезности



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 23:19.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!