For the record, polling is ALWAYS incorrect, as its a waste of CPU resources. If you need to wait for something, it is far more efficent to send a Windows message that the task is complete, then have an event in place for that message.
Asking "Are you done yet" a couple thousand times per second is a great way to constantly work at 99% CPU usage while sending performance off a cliff...