v2: - introduce 'detached' completion waits (with complretion == NULL) only in patch 4 (as before that those NULL completion checks is essentially a 'dangling' logic); - Do not recreate completion waits in (remove_completion) if the existing one is for a different IOCP; - add more tests for APC vs existing completion priority, modify the handling so removing completion which resulted in APC doesn't associate a thread with completion; - drop a couple of confusing completion count checks with STATUS_USER_APC return.