![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
12usver12 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 5.1.2007 Репутация: 1 Всего: 1 |
собсно есть такой код, вроде делал все как написано для этих макросов...
в итоге так и не получилось адаптировать
выводит в консоль неправильное значение , где же косяк ? Это сообщение отредактировал(а) 12usver12 - 27.6.2010, 23:50 |
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
Судя по прототипу, DbgPrint требует передачи самих параметров, а не указателя va_list. А количество параметров не известно, и поэтому их не передать (либо вычислить количество параметров, пропарсив строку форматирования).
Если нужно замаскировать вызов GetProcAddress, то можно так написать:
Это сообщение отредактировал(а) 586 - 28.6.2010, 00:51 |
|||
|
||||
12usver12 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 5.1.2007 Репутация: 1 Всего: 1 |
работает, получается каждый раз при вызове этой функи выполняется GetProcAddress(GetModuleHandleW(L"ntdll.dll"),"DbgPrint") или оно только раз при инициализации выполняется ?
|
|||
|
||||
586 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 39 Всего: 146 |
Один раз выполнится при инициализации. Только в конструкторах классов надо использовать этот указатель с осторожностью - указатель DbgPrint_ может быть ещё не инициализирован. Кстати! Есть же ещё функция OutputDebugString:
|
|||
|
||||
12usver12 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 5.1.2007 Репутация: 1 Всего: 1 |
ну да я тоже использовал подобную конструкцию, но проблема в том что нужно было выделять фиксированный буфер TCHAR buf[2048] , иногда это мешало, так как данные иногда были больше размера буфера, впринципе можно было динамически стек выделять, но не хотелось лепить велики, так как есть уже DbgPrint
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |