Quirks and Gotchas
From Canon SDK Wiki
On EDSDK, your program does not receive any events even though you successfully registered for them.
See this thread. Your program needs to have a message pump in your program to process the WM_TIMER events that the EDSDK uses for its own events. Without this message pump, the events are never processed and your callbacks never fire.
