Index: dll/win32/kernel32/client/console/console.c =================================================================== --- dll/win32/kernel32/client/console/console.c (revision 62279) +++ dll/win32/kernel32/client/console/console.c (working copy) @@ -789,6 +789,7 @@ CONSOLE_API_MESSAGE ApiMessage; ApiMessage.Data.VerifyHandleRequest.ConsoleHandle = Handle; + ApiMessage.Data.VerifyHandleRequest.Result = FALSE; Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage, NULL, @@ -800,7 +801,7 @@ return FALSE; } - return TRUE; + return ApiMessage.Data.VerifyHandleRequest.Result; } Index: include/reactos/subsys/win/conmsg.h =================================================================== --- include/reactos/subsys/win/conmsg.h (revision 62279) +++ include/reactos/subsys/win/conmsg.h (working copy) @@ -506,6 +506,7 @@ typedef struct { HANDLE ConsoleHandle; + BOOL Result; } CONSOLE_VERIFYHANDLE, *PCONSOLE_VERIFYHANDLE; typedef struct Index: win32ss/user/winsrv/consrv/handle.c =================================================================== --- win32ss/user/winsrv/consrv/handle.c (revision 62279) +++ win32ss/user/winsrv/consrv/handle.c (working copy) @@ -844,7 +844,7 @@ CSR_API(SrvVerifyConsoleIoHandle) { - NTSTATUS Status; + NTSTATUS Status = ERROR_SUCCESS; PCONSOLE_VERIFYHANDLE VerifyHandleRequest = &((PCONSOLE_API_MESSAGE)ApiMessage)->Data.VerifyHandleRequest; PCONSOLE_PROCESS_DATA ProcessData = ConsoleGetPerProcessData(CsrGetClientThread()->Process); PCONSOLE Console; @@ -869,8 +869,12 @@ ProcessData->HandleTable[Index].Object == NULL) { DPRINT("SrvVerifyConsoleIoHandle failed\n"); - Status = STATUS_INVALID_HANDLE; + VerifyHandleRequest->Result = FALSE; } + else + { + VerifyHandleRequest->Result = TRUE; + } RtlLeaveCriticalSection(&ProcessData->HandleTableLock); Index: win32ss/user/winsrv/consrv_new/handle.c =================================================================== --- win32ss/user/winsrv/consrv_new/handle.c (revision 62279) +++ win32ss/user/winsrv/consrv_new/handle.c (working copy) @@ -764,7 +764,7 @@ CSR_API(SrvVerifyConsoleIoHandle) { - NTSTATUS Status; + NTSTATUS Status = ERROR_SUCCESS; PCONSOLE_VERIFYHANDLE VerifyHandleRequest = &((PCONSOLE_API_MESSAGE)ApiMessage)->Data.VerifyHandleRequest; PCONSOLE_PROCESS_DATA ProcessData = ConsoleGetPerProcessData(CsrGetClientThread()->Process); PCONSOLE Console; @@ -786,8 +786,12 @@ ProcessData->HandleTable[Index].Object == NULL) { DPRINT("SrvVerifyConsoleIoHandle failed\n"); - Status = STATUS_INVALID_HANDLE; + VerifyHandleRequest->Result = FALSE; } + else + { + VerifyHandleRequest->Result = TRUE; + } RtlLeaveCriticalSection(&ProcessData->HandleTableLock);