информационная безопасность
без паники и всерьез
 подробно о проекте
Где водятся OGRыЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модульный ботнет от русских хакеров 
 Торвальдс и вайбтестеры 
 Атака на GitHub 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
впервые слышу, чтоб глобальные ф-ии перегружали 07.08.01 01:14  Число просмотров: 904
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
а адрес получаешь так.

typedef CWinThread BeginThreadProc)(CRuntimeClass int, UINT,DWORD, LPSECURITY_ATTRIBUTES );

BeginThreadProc pfn = AfxBeginThread;
<programming>
А как получить адрес перегружаемой ф-ции(AfxBeginThread нпример) 06.08.01 09:45  
Автор: Heromantor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Сабж что тут говорить. И еще как я увидел VC вызывает ф-цию таким способом:

int func(LPVOID p)
{
int *i=(int *)p;

*i=666;
return(*i);
}
....
int i;

_asm{
push 0
Тут непонятно почему в стек не пихаеться адрес возврата?
call func
add esp,4
mov i,eax
}
впервые слышу, чтоб глобальные ф-ии перегружали 07.08.01 01:14  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
а адрес получаешь так.

typedef CWinThread BeginThreadProc)(CRuntimeClass int, UINT,DWORD, LPSECURITY_ATTRIBUTES );

BeginThreadProc pfn = AfxBeginThread;
Не катит 07.08.01 10:21  
Автор: Heromantor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> а адрес получаешь так.
>
> typedef CWinThread BeginThreadProc)(CRuntimeClass int,
> UINT,DWORD, LPSECURITY_ATTRIBUTES );
>
> BeginThreadProc pfn = AfxBeginThread;

Ф-ция AfxBeginThread имеет еще вариант с рабочим потоком т.е. CWinThread* AFXAPI AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam,
int nPriority, UINT nStackSize, DWORD dwCreateFlags,
LPSECURITY_ATTRIBUTES lpSecurityAttrs)

Я так понимаю что AfxBeginThread являеться overload? Не так?
катит, катит... 07.08.01 11:18  
Автор: Qrot Статус: Незарегистрированный пользователь
<"чистая" ссылка>
#include <afx.h>
#include <afxwin.h>
#include <iostream.h>

typedef CWinThread * (AFXAPIBeginThreadProc1)(CRuntimeClass
int, UINT, DWORD, LPSECURITY_ATTRIBUTES);
typedef CWinThread * (AFXAPI *BeginThreadProc2)(AFX_THREADPROC, LPVOID,
int, UINT, DWORD, LPSECURITY_ATTRIBUTES);

UINT AFX_CDECL ThreadProc(PVOID)
{
cout << "thread" << endl;

return 0;
}

void func(BeginThreadProc2 pfn)
{
pfn(ThreadProc, NULL, THREAD_PRIORITY_NORMAL, 0, 0, NULL);
}

int main()
{
BeginThreadProc1 pfn1 = AfxBeginThread;
BeginThreadProc2 pfn2 = AfxBeginThread;

cout << hex << pfn1 << endl;
cout << hex << pfn2 << endl;

func(pfn2);

return 0;
}
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach