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