[rt.cpan.org #53914] Bug report for Win32::API::Callback

[email protected] ("Aldo Calpini via RT")
Newsgroups perl.libwin32
Message-ID <[email protected]>
Tue Sep 07 07:51:32 2010: Request 53914 was acted upon.
Transaction: Correspondence added by ACALPINI
       Queue: Win32-API
     Subject: Bug report for Win32::API::Callback
   Broken in: (no value)
    Severity: (no value)
       Owner: Nobody
  Requestors: [email protected]
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=53914 >


my (wild enough) guess is that there is something different in the
PHANDLER_ROUTINE (the callback SetConsoleCtrlHandler expects) from other
working callbacks. Namely:

BOOL WINAPI HandlerRoutine(
  __in  DWORD dwCtrlType
);

versus e.g.:

BOOL CALLBACK EnumWindowsProc(
  __in  HWND hwnd,
  __in  LPARAM lParam
);

the difference is the WINAPI instead of CALLBACK definition. I think it
may have something to do with calling conventions and how parameters are
pushed to the stack. 

this would man that callbacks defined in C as WINAPI are not supported,
only those defined as CALLBACK are.

but digging in the C headers to find the real difference between WINAPI
and CALLBACK, or even adding support for different calling conventions
in Win32::API::Callback is beyond my scope at the moment, sorry :-(

cheers,
Aldo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.