Bernhard Loos bernhardloos@googlemail.com writes:
It does check it. If the apc got called during an io operation, the operation will fail with ERROR_OPERATION_ABORTED/STATUS_CANCELLED. So if it the operation succeeds with an apc scheduled, the pipe was opened with an nonalerable io mode.
That's not a very good check. There can be other reasons why the operation would succeed, for instance if kernel32 retries or things like that. If you want to test for alertable mode, check that user APCs run, not for some other side effect.