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: perls...@mail.bg
      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

Reply via email to