Windows has support for SIGINT in console applications in response to Ctrl-C. This implies Windows has functionality to interrupt a running thread from a remote thread (process even!) and invoke a signal handler.
Exactly how does this work at the NT Native API level? Can this thread-interruption API be used for other purposes in userspace?