kernelbase: Use IOCTL_CONDRV_READ_OUTPUT in ReadConsoleOutputAttribute.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
300a01f467
commit
5f6bb63800
|
@ -786,6 +786,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH PeekConsoleInputW( HANDLE handle, INPUT_RECORD *bu
|
|||
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleOutputAttribute( HANDLE handle, WORD *attr, DWORD length,
|
||||
COORD coord, DWORD *count )
|
||||
{
|
||||
struct condrv_output_params params;
|
||||
BOOL ret;
|
||||
|
||||
TRACE( "(%p,%p,%d,%dx%d,%p)\n", handle, attr, length, coord.X, coord.Y, count );
|
||||
|
@ -796,18 +797,13 @@ BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleOutputAttribute( HANDLE handle, WORD *a
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
*count = 0;
|
||||
SERVER_START_REQ( read_console_output )
|
||||
{
|
||||
req->handle = console_handle_unmap( handle );
|
||||
req->x = coord.X;
|
||||
req->y = coord.Y;
|
||||
req->mode = CHAR_INFO_MODE_ATTR;
|
||||
req->wrap = TRUE;
|
||||
wine_server_set_reply( req, attr, length * sizeof(WORD) );
|
||||
if ((ret = !wine_server_call_err( req ))) *count = wine_server_reply_size(reply) / sizeof(WORD);
|
||||
}
|
||||
SERVER_END_REQ;
|
||||
params.mode = CHAR_INFO_MODE_ATTR;
|
||||
params.x = coord.X;
|
||||
params.y = coord.Y;
|
||||
params.width = 0;
|
||||
ret = console_ioctl( handle, IOCTL_CONDRV_READ_OUTPUT, ¶ms, sizeof(params),
|
||||
attr, length * sizeof(*attr), count );
|
||||
*count /= sizeof(*attr);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue