this has already been discussed on wine-devel a couple of days ago
the "right" fix is either to fix WriteConsole so that it doesn't require read access (actually FILE_READ_PROPERTIES), or to grant this access user side
so the fix in the server will be rejected
A+

2010/11/12 Martin Wilck <Martin.Wilck@particle-dynamics.de>

Writing to a console handle obtained with a requested access mode
GENERIC_WRITE
produces no output. This happens because get_console_mode() requires
FILE_READ_PROPERTIES access on the handle, which a handle created with
GENERIC_WRITE doesn't have.

This affects many Microsoft console applications, e.g. nmake and cl from
VC++
express 2005.

It can be tested with the following minimal test program (compiled with
VC 2005 & run with native mscvr80):

int main(void)
{
       _cprintf("Hi.\n");
       return 0;
}

This behaves as follows:

trace:console:OpenConsoleW (L"CONOUT$", 0x40000000, 0, 3)
0009: open_console( from=0001, access=40000000, attributes=00000000,
share=3 )
0009: open_console() = 0 { handle=0028 }
trace:console:WriteConsoleW 0x2b L"H" 1 0x33fb78 (nil)
0009: get_console_mode( handle=0028 )
0009: get_console_mode() = ACCESS_DENIED { mode=0, is_bare=0 }

Because of the ACCESS_DENIED, this program produces no output on current
wine.
This patch fixies this with a new map_access() function for the console.

Signed-off-by: Martin Wilck <martin.wilck@particle-dynamics.de>
---
 server/console.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)





--
--
Eric Pouech