Please could someone give me a few tips for creating function pointers for MS winapi functions? I'm trying to create a pointer for DefWindowProc (DefWindowProcA/DefWindowProcW) but getting this error:
LRESULT (*dwp)(HWND, UINT, WPARAM, LPARAM) = &DefWindowProc;
error C2440: 'initializing' : cannot convert from
'LRESULT (__stdcall *)(HWND,UINT,WPARAM,LPARAM)'
to 'LRESULT (__cdecl *)(HWND,UINT,WPARAM,LPARAM)'
I can't figure out what I need to use because I am not used to the MS ascii/wide macros. By the way, I'm creating a function pointer to make a quick hack, and unfortunately I don't have time to explain why - but regardless, I think this question will be helpful to people who need to create winapi function pointers.
Update:
This code works, but I'm worried that it is bad practice (and does not adhere to unicode/ascii compile options). Should I define two specifications?
LRESULT (__stdcall* dwp)(HWND, UINT, WPARAM, LPARAM) = &DefWindowProc;
Update 2:
This is nicer (thanks to nobugz):
WNDPROC dwp = DefWindowProc;