http://bugs.winehq.org/show_bug.cgi?id=17195
--- Comment #17 from Juan Lang juan_lang@yahoo.com 2009-02-07 19:23:53 --- (In reply to comment #16)
- start off in non-message-mode and switch to message-mode with data still
unread
I believe this isn't allowed. See the existing tests, dlls/kernel32/tests/pipe.c, lines 213-214: /* trying to change the client end of a byte pipe to message mode should fail */ ok(!SetNamedPipeHandleState(hFile, &lpmode, NULL, NULL), "Change mode\n");
On the other hand, it's possible that these tests only test the client. Perhaps the server can change modes? I suspect not, but you're right that a test is needed.
- start off in message-mode and switch to non-message-mode with data
outstanding and not outstanding, as two separate tests.
I believe this is possible, at least for the client, in contrast to test 2). I don't believe there are tests for this though.