http://weblogs.asp.net/kennykerr/parallel-programming-with-c-part-4-i-o-completion-ports
http://weblogs.asp.net/kennykerr/parallel-programming-with-c-part-3-queuing-asynchronous-procedure-calls
https://msdn.microsoft.com/en-us/library/windows/desktop/ms684342(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365198(v=vs.85).aspx
http://www.drdobbs.com/cpp/multithreaded-asynchronous-io-io-comple/201202921
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365198(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/aa363772(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ms681924(v=vs.85).aspx