> As it turns out, the DLL did have a conflict in the declarations; all the functions
> were compiled using __cdecl while the set_callback function parameter requires
> a pointer to a __stdcall function type. It will be recompiled using the __stdcall
> calling convention for all functions, which should solve the issue.
> Apparently, since the cdecl DLL expects all calling function to remove the
> parameter from the stack, and the mixed in stdcall declared callback removed
> parameters itself, the stack was not in a good state and Windows would shut
> the process down - when the function exited the caller and called both had
> popped the stack.
Messy. Your code may well have worked though, if you'd declared the callback
as WINFUNCTYPE rather than CFUNCTYPE upon finding out that the callback
Good to have a resolution, anyway.
-------------------------> "These thoughts are mine alone!" <---------
Andrew MacIntyre Operations Branch
tel: +61 2 6219 5356 Communications Infrastructure Division
fax: +61 2 6253 3277 Australian Communications & Media Authority
email: andrew.macintyre@... http://www.acma.gov.au/
NOTICE: This email message is for the sole use of the intended recipient(s)
and may contain confidential and privileged information. Any unauthorized
review, use, disclosure or distribution is prohibited. If you are not the
intended recipient, please contact the sender by reply email and destroy all
copies of the original message.