in reply to Win32::API and 'short' arguments
This can be complicated. The problem is that WINAPI can mean different things depending upon the compiler options used. If you look in Windef.h you'll find it variously defined as either _cdecl or _stdcall (or _pascal which is the same thing).
The difference between these two is that with the former, the caller is responsible for cleaning up the stack; with the latter, the called code is responsible for cleaning up the stack.
There is also the possibility of _fastcall, in which some of the parameters are passed via registers rather than on the stack.
It will also depend upon which compiler you are using, and which compiler was used to build the DLL.
For the most part, Win32::API should be able to call functions from any DLL, but you may have to play with the prototypes/templates in order to make it work.
|
---|