typedef에 관한 질문입니다.

cjy1126의 이미지

pc방 밤샘 알바하면서 공부중입니다 ㅡㅡ;;;

지금 밑의 소스를 분석중인데... 이해가 안됩니다.

void CCatchYouDlg::OnBnClickedButtonCatch()
{
	static HINSTANCE hinstDLL;
	typedef BOOL (CALLBACK *inshook)(); 
	inshook instkbhook;
	hinstDLL = LoadLibrary((LPCTSTR) "CatchDll.dll"); 
	instkbhook = (inshook)GetProcAddress(hinstDLL, "InitHooksDll"); 
	instkbhook();
	ShowWindow(SW_MINIMIZE);
	m_ctrStart.EnableWindow(false);
}

밑에 부분이 이해가 안되는 부분입니다.

BOOL 형을 리턴하는 CALLBACK 함수의 주소인가요?

이 의미가 어떤식으로 해석되는지 잘모르겠습니다.

	typedef BOOL (CALLBACK *inshook)(); 
	inshook instkbhook;

또 pc방이라서 vc++을 깔기 그런데, 원격으로 vc++을 컴파일 하는 방법이 없나요?

전에는 집에 리눅스 서버를두고, telnet, ftp를 열어서 했거든요.

이번에는 윈도우를 공부하려는데... 그 쪽을 잘몰라서... 힘드네요.[/code]

sodomau의 이미지

   typedef BOOL (CALLBACK *inshook)(); 
   inshook instkbhook; 
 

네.. 비슷하죠.
주소라기 보단,, 함수 주소를 담는 포인터타입이죠.

 typdef int (*func)();
 func f;

여기서 f는 int 를 리턴하고 argument를 전혀 받지 않는
function을 가리키는 function pointer입니다.
앞의 코드도 마찬가지