You probably want to typedef your pointer types - here's some that I made for a MS Cards library, then you cast the result of GetProcAddress to the type you expect.
Code:
typedef bool (__stdcall *CDTInit)(int *width, int *height);
typedef void (__stdcall *CDTTerm)(void);
typedef bool (__stdcall *CDTDraw)(HDC hdc, int x, int y, int index, int style, int color );
...
cardFuncs.cdtInit = (CDTInit)GetProcAddress(h, "cdtInit");
cardFuncs.cdtTerm = (CDTTerm)GetProcAddress(h, "cdtTerm");
cardFuncs.cdtDraw = (CDTDraw)GetProcAddress(h, "cdtDraw");
...
--
Mats