You have to roll your own. Here is an old design that uses a subscription model so there is no polling: http://taz.newffr.com/TAZ/Win32/codi...aitfor_api.pdf

Here's an implementation just for Events: GitHub - neosmart/pevents: Implementation of Win32 events for *nix platforms, built on top of pthreads.

gg