Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Win32::API and 'short' arguments

by BrowserUk (Patriarch)
on May 09, 2006 at 18:48 UTC ( [id://548302]=note: print w/replies, xml ) Need Help??


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.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://548302]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (1)
As of 2024-04-23 16:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found