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