Hi. I am writing a DLL application in C (using VC6) which calls external DLL functions. Some of those calls execute and return without a problem, but some others don't. When I say they don't return, I mean that either they don't return at all, or else they take a VERY long time to return (I have the code running as I write, and it hasn't returned yet.) Has anyone come across this issue before, or know what could be causing it? The function I am calling is low-level interacting with hardware.

Any help much appreciated.

Sounds like the program is blocked waiting for some hardware interrupt. If those are your DLLs then debug them to find out what is is doing. Otherwise your question is just too vague for anyone to describe the solution.