<div>this has already been discussed on wine-devel a couple of days ago</div>
<div>the &quot;right&quot; fix is either to fix WriteConsole so that it doesn&#39;t require read access (actually FILE_READ_PROPERTIES), or to grant this access user side</div>
<div>so the fix in the server will be rejected</div>
<div>A+<br><br></div>
<div class="gmail_quote">2010/11/12 Martin Wilck <span dir="ltr">&lt;<a href="mailto:Martin.Wilck@particle-dynamics.de">Martin.Wilck@particle-dynamics.de</a>&gt;</span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><br>Writing to a console handle obtained with a requested access mode<br>GENERIC_WRITE<br>produces no output. This happens because get_console_mode() requires<br>
FILE_READ_PROPERTIES access on the handle, which a handle created with<br>GENERIC_WRITE doesn&#39;t have.<br><br>This affects many Microsoft console applications, e.g. nmake and cl from<br>VC++<br>express 2005.<br><br>It can be tested with the following minimal test program (compiled with<br>
VC 2005 &amp; run with native mscvr80):<br><br>int main(void)<br>{<br>       _cprintf(&quot;Hi.\n&quot;);<br>       return 0;<br>}<br><br>This behaves as follows:<br><br>trace:console:OpenConsoleW (L&quot;CONOUT$&quot;, 0x40000000, 0, 3)<br>
0009: open_console( from=0001, access=40000000, attributes=00000000,<br>share=3 )<br>0009: open_console() = 0 { handle=0028 }<br>trace:console:WriteConsoleW 0x2b L&quot;H&quot; 1 0x33fb78 (nil)<br>0009: get_console_mode( handle=0028 )<br>
0009: get_console_mode() = ACCESS_DENIED { mode=0, is_bare=0 }<br><br>Because of the ACCESS_DENIED, this program produces no output on current<br>wine.<br>This patch fixies this with a new map_access() function for the console.<br>
<br>Signed-off-by: Martin Wilck &lt;<a href="mailto:martin.wilck@particle-dynamics.de">martin.wilck@particle-dynamics.de</a>&gt;<br>---<br> server/console.c |   10 ++++++++--<br> 1 files changed, 8 insertions(+), 2 deletions(-)<br>
<br><br></blockquote></div><br><br clear="all"><br>-- <br>-- <br>Eric Pouech<br>