The only thing the documentation says is:
The completion routine follows the same rules as stipulated for Windows file I/O completion routines.
That might suggest that you cannot mix IOCP and lpCompletionRoutine
together, like with WriteFileEx()
. On the other hand, why would you want to mix them together in the first place? Either the completion port gets the result, or the completion routine does. Why would you need to use both?