Why is a timeout necessary?
The timeout mechanism was implemented to avoid possible deadlocks in the system. These deadlocks can occur because of complications among the interaction between the kernel mode driver, Windows, and the application-provided event handlers.
If your event handler expects a timeout to happen due to slow operations (e.g., across the network) you can call the ResetTimeout method from the event handler to reset the counter and to extend the time leased for the operation. However, don't reset the timeout counter infinitely; while your event handler is processing, the system is in an unstable state and other processes working in the background can be blocked.
We appreciate your feedback. If you have any questions, comments, or suggestions about this article please contact our support team at support@callback.com.