On Thu Jan 30 16:04:52 2025 +0000, Paul Gofman wrote:
Waits on completion_wait_ops objects are only used internally in NtRemoveIoCompletion[Ex], handles to them are not exposed to application and they are not waited on together with any other objects. What can appear here is completion port object itself. Implementing ntsync object for completion_wait object is probably quite not trivial, they have special scheduling rules and action on satisfied wait currently.
Like other internal objects they go through server_wait_for_object().