Changeset 10010 for trunk/src


Ignore:
Timestamp:
Apr 11, 2003, 2:08:36 PM (22 years ago)
Author:
sandervl
Message:

DF: Console updates

Location:
trunk/src/kernel32
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/HandleManager.cpp

    r9975 r10010  
    1 /* $Id: HandleManager.cpp,v 1.98 2003-04-02 12:58:27 sandervl Exp $ */
     1/* $Id: HandleManager.cpp,v 1.99 2003-04-11 12:08:34 sandervl Exp $ */
    22
    33/*
     
    879879}
    880880
     881/*****************************************************************************
     882 * Name      : HANDLE  _HMUdptStdHandle
     883 * Purpose   :
     884 * Parameters: DWORD  nStdHandle
     885 *             HANDLE hHandle
     886 * Variables :
     887 * Result    : BOOL fSuccess
     888 * Remark    :
     889 * Status    :
     890 *
     891 * Author    : Dmitry Froloff [Thu, 2003/03/03 17:44]
     892 *****************************************************************************/
     893
     894BOOL HMUpdtStdHandle(DWORD  nStdHandle, HANDLE hHandle)
     895{
     896  switch (nStdHandle)
     897  {
     898    case STD_INPUT_HANDLE:  HMGlobals.hStandardIn    = hHandle; return TRUE;
     899    case STD_OUTPUT_HANDLE: HMGlobals.hStandardOut   = hHandle; return TRUE;
     900    case STD_ERROR_HANDLE:  HMGlobals.hStandardError = hHandle; return TRUE;
     901
     902    default:
     903    {
     904      SetLastError(ERROR_INVALID_PARAMETER);        /* set error information */
     905      return (FALSE);                               /* raise error condition */
     906    }
     907  }
     908}
     909
    881910
    882911/*****************************************************************************
     
    924953  /* initialize the complete HMHANDLEDATA structure */
    925954  pHMHandleData                = &TabWin32Handles[iIndexNew].hmHandleData;
    926   if (fdwOptions & DUPLICATE_SAME_ACCESS) 
     955  if (fdwOptions & DUPLICATE_SAME_ACCESS)
    927956      pHMHandleData->dwAccess    = TabWin32Handles[srchandle].hmHandleData.dwAccess;
    928957  else
     
    12851314 * Result    : TRUE / FALSE
    12861315 * Remark    :
    1287  * Status    : 
     1316 * Status    :
    12881317 *
    12891318 * Author    : SvL
     
    13241353 * Result    : TRUE / FALSE
    13251354 * Remark    :
    1326  * Status    : 
     1355 * Status    :
    13271356 *
    13281357 * Author    : SvL
    13291358 *****************************************************************************/
    1330 BOOL   HMSetHandleInformation       (HANDLE hObject, 
     1359BOOL   HMSetHandleInformation       (HANDLE hObject,
    13311360                                     DWORD  dwMask,
    13321361                                     DWORD  dwFlags)
     
    20742103  if(dwTimeout && dwTimeout < 20) {
    20752104      dwThreadPriority = GetThreadPriority(hThread);
    2076       if(dwThreadPriority != THREAD_PRIORITY_TIME_CRITICAL) 
     2105      if(dwThreadPriority != THREAD_PRIORITY_TIME_CRITICAL)
    20772106      {
    20782107          dprintf(("Temporarily change priority to THREAD_PRIORITY_TIME_CRITICAL for better timing"));
     
    30683097  if(dwTimeout && dwTimeout < 20) {
    30693098      dwThreadPriority = GetThreadPriority(hThread);
    3070       if(dwThreadPriority != THREAD_PRIORITY_TIME_CRITICAL) 
     3099      if(dwThreadPriority != THREAD_PRIORITY_TIME_CRITICAL)
    30713100      {
    30723101          dprintf(("Temporarily change priority to THREAD_PRIORITY_TIME_CRITICAL for better timing"));
     
    31913220  if(dwTimeout && dwTimeout < 20) {
    31923221      dwThreadPriority = GetThreadPriority(hThread);
    3193       if(dwThreadPriority != THREAD_PRIORITY_TIME_CRITICAL) 
     3222      if(dwThreadPriority != THREAD_PRIORITY_TIME_CRITICAL)
    31943223      {
    31953224          dprintf(("Temporarily change priority to THREAD_PRIORITY_TIME_CRITICAL for better timing"));
     
    42464275
    42474276  pHMHandle = &TabWin32Handles[iIndex];               /* call device handler */
    4248   lpResult = pHMHandle->pDeviceHandler->GetThreadTimes(hThread, &TabWin32Handles[iIndex].hmHandleData, 
    4249                                                        lpCreationTime, lpExitTime, 
     4277  lpResult = pHMHandle->pDeviceHandler->GetThreadTimes(hThread, &TabWin32Handles[iIndex].hmHandleData,
     4278                                                       lpCreationTime, lpExitTime,
    42504279                                                       lpKernelTime, lpUserTime);
    42514280
  • trunk/src/kernel32/conbuffer.cpp

    r9975 r10010  
    1 /* $Id: conbuffer.cpp,v 1.18 2003-04-02 12:58:28 sandervl Exp $ */
     1/* $Id: conbuffer.cpp,v 1.19 2003-04-11 12:08:35 sandervl Exp $ */
    22
    33/*
     
    429429      ULONG2COORD(coordWrite,arg3);
    430430
    431       return (HMDeviceConsoleBufferClass
    432               ::FillConsoleOutputAttribute(pHMHandleData,
    433                                            (WORD)arg1,
    434                                            (DWORD)arg2,
    435                                            coordWrite,
    436                                            (LPDWORD)arg4));
     431      return (FillConsoleOutputAttribute(pHMHandleData,
     432                                         (WORD)arg1,
     433                                         (DWORD)arg2,
     434                                         coordWrite,
     435                                         (LPDWORD)arg4));
    437436    }
    438437
     
    444443      ULONG2COORD(coordWrite,arg3);
    445444
    446       return (HMDeviceConsoleBufferClass
    447               ::FillConsoleOutputCharacterA(pHMHandleData,
    448                                             (UCHAR)arg1,
    449                                             (DWORD)arg2,
    450                                             coordWrite,
     445      return (FillConsoleOutputCharacterA(pHMHandleData,
     446                                          (UCHAR)arg1,
     447                                          (DWORD)arg2,
     448                                          coordWrite,
    451449                                            (LPDWORD)arg4));
    452450    }
     
    459457      ULONG2COORD(coordWrite,arg3);
    460458
    461       return (HMDeviceConsoleBufferClass
    462               ::FillConsoleOutputCharacterW(pHMHandleData,
     459      return (FillConsoleOutputCharacterW(pHMHandleData,
    463460                                            (WCHAR)arg1,
    464461                                            (DWORD)arg2,
     
    469466
    470467    case DRQ_GETCONSOLECURSORINFO:
    471       return (HMDeviceConsoleBufferClass
    472               ::GetConsoleCursorInfo(pHMHandleData,
     468      return (GetConsoleCursorInfo(pHMHandleData,
    473469                                     (PCONSOLE_CURSOR_INFO)arg1));
    474470
    475471
    476472    case DRQ_GETCONSOLEMODE:
    477       return (HMDeviceConsoleBufferClass
    478               ::GetConsoleMode(pHMHandleData,
     473      return (GetConsoleMode(pHMHandleData,
    479474                               (LPDWORD)arg1));
    480475
    481476
    482477    case DRQ_GETCONSOLESCREENBUFFERINFO:
    483       return (HMDeviceConsoleBufferClass
    484               ::GetConsoleScreenBufferInfo(pHMHandleData,
     478      return (GetConsoleScreenBufferInfo(pHMHandleData,
    485479                                           (PCONSOLE_SCREEN_BUFFER_INFO)arg1));
    486480
    487481
    488482    case DRQ_GETLARGESTCONSOLEWINDOWSIZE:
    489       return (HMDeviceConsoleBufferClass
    490               ::GetLargestConsoleWindowSize(pHMHandleData));
     483      return (GetLargestConsoleWindowSize(pHMHandleData));
    491484
    492485
     
    499492      ULONG2COORD(coordDestBufferCoord, arg3);
    500493
    501       return (HMDeviceConsoleBufferClass
    502               ::ReadConsoleOutputA(pHMHandleData,
     494      return (ReadConsoleOutputA(pHMHandleData,
    503495                                   (PCHAR_INFO)arg1,
    504496                                   coordDestBufferSize,
     
    516508      ULONG2COORD(coordDestBufferCoord, arg3);
    517509
    518       return (HMDeviceConsoleBufferClass
    519               ::ReadConsoleOutputW(pHMHandleData,
     510      return (ReadConsoleOutputW(pHMHandleData,
    520511                                   (PCHAR_INFO)arg1,
    521512                                   coordDestBufferSize,
     
    531522      ULONG2COORD(coordReadCoord, arg3);
    532523
    533       return (HMDeviceConsoleBufferClass
    534               ::ReadConsoleOutputAttribute(pHMHandleData,
     524      return (ReadConsoleOutputAttribute(pHMHandleData,
    535525                                   (LPWORD)arg1,
    536526                                   (DWORD)arg2,
     
    546536      ULONG2COORD(coordReadCoord, arg3);
    547537
    548       return (HMDeviceConsoleBufferClass
    549               ::ReadConsoleOutputCharacterA(pHMHandleData,
     538      return (ReadConsoleOutputCharacterA(pHMHandleData,
    550539                                            (LPTSTR)arg1,
    551540                                            (DWORD)arg2,
     
    561550      ULONG2COORD(coordReadCoord, arg3);
    562551
    563       return (HMDeviceConsoleBufferClass
    564               ::ReadConsoleOutputCharacterW(pHMHandleData,
     552      return (ReadConsoleOutputCharacterW(pHMHandleData,
    565553                                            (LPWSTR)arg1,
    566554                                            (DWORD)arg2,
     
    576564      ULONG2COORD(coordDestOrigin, arg3);
    577565
    578       return (HMDeviceConsoleBufferClass
    579               ::ScrollConsoleScreenBufferA(pHMHandleData,
     566      return (ScrollConsoleScreenBufferA(pHMHandleData,
    580567                                           (PSMALL_RECT)arg1,
    581568                                           (PSMALL_RECT)arg2,
     
    591578      ULONG2COORD(coordDestOrigin, arg3);
    592579
    593       return (HMDeviceConsoleBufferClass
    594               ::ScrollConsoleScreenBufferW(pHMHandleData,
     580      return (ScrollConsoleScreenBufferW(pHMHandleData,
    595581                                           (PSMALL_RECT)arg1,
    596582                                           (PSMALL_RECT)arg2,
     
    601587
    602588    case DRQ_SETCONSOLEACTIVESCREENBUFFER:
    603       return (HMDeviceConsoleBufferClass
    604               ::SetConsoleActiveScreenBuffer(pHMHandleData));
     589      return (SetConsoleActiveScreenBuffer(pHMHandleData));
    605590
    606591
    607592    case DRQ_SETCONSOLECURSORINFO:
    608       return (HMDeviceConsoleBufferClass
    609               ::SetConsoleCursorInfo(pHMHandleData,
     593      return (SetConsoleCursorInfo(pHMHandleData,
    610594                                     (PCONSOLE_CURSOR_INFO)arg1));
    611595
     
    617601      ULONG2COORD(coordCursor, arg1);
    618602
    619       return (HMDeviceConsoleBufferClass
    620               ::SetConsoleCursorPosition(pHMHandleData,
     603      return (SetConsoleCursorPosition(pHMHandleData,
    621604                                         coordCursor));
    622605    }
     
    624607
    625608    case DRQ_SETCONSOLEMODE:
    626       return (HMDeviceConsoleBufferClass
    627               ::SetConsoleMode(pHMHandleData,
     609      return (SetConsoleMode(pHMHandleData,
    628610                               (DWORD)arg1));
    629611
     
    635617      ULONG2COORD(coordSize,arg1);
    636618
    637       return (HMDeviceConsoleBufferClass::
    638                 SetConsoleScreenBufferSize(pHMHandleData,
     619      return (SetConsoleScreenBufferSize(pHMHandleData,
    639620                                           coordSize));
    640621    }
     
    642623
    643624    case DRQ_SETCONSOLETEXTATTRIBUTE:
    644       return (HMDeviceConsoleBufferClass::
    645                 SetConsoleTextAttribute(pHMHandleData,
     625      return (SetConsoleTextAttribute(pHMHandleData,
    646626                                        (WORD)arg1));
    647627
    648628
    649629    case DRQ_SETCONSOLEWINDOWINFO:
    650       return (HMDeviceConsoleBufferClass
    651               ::SetConsoleWindowInfo(pHMHandleData,
     630      return (SetConsoleWindowInfo(pHMHandleData,
    652631                                     (BOOL)arg1,
    653632                                     (PSMALL_RECT)arg2));
     
    655634
    656635    case DRQ_WRITECONSOLEA:
    657       return (HMDeviceConsoleBufferClass
    658               ::WriteConsoleA(pHMHandleData,
     636      return (WriteConsoleA(pHMHandleData,
    659637                              (CONST VOID*)arg1,
    660638                              (DWORD)arg2,
     
    664642
    665643    case DRQ_WRITECONSOLEW:
    666       return (HMDeviceConsoleBufferClass
    667               ::WriteConsoleW(pHMHandleData,
     644      return (WriteConsoleW(pHMHandleData,
    668645                              (CONST VOID*)arg1,
    669646                              (DWORD)arg2,
     
    680657      ULONG2COORD(coordSrcBufferCoord, arg3);
    681658
    682       return (HMDeviceConsoleBufferClass
    683               ::WriteConsoleOutputA(pHMHandleData,
     659      return (WriteConsoleOutputA(pHMHandleData,
    684660                                    (PCHAR_INFO)arg1,
    685661                                    coordSrcBufferSize,
     
    697673      ULONG2COORD(coordSrcBufferCoord, arg3);
    698674
    699       return (HMDeviceConsoleBufferClass
    700               ::WriteConsoleOutputA(pHMHandleData,
     675      return (WriteConsoleOutputA(pHMHandleData,
    701676                                    (PCHAR_INFO)arg1,
    702677                                    coordSrcBufferSize,
     
    712687      ULONG2COORD(coordWriteCoord,  arg3);
    713688
    714       return (HMDeviceConsoleBufferClass
    715               ::WriteConsoleOutputAttribute(pHMHandleData,
     689      return (WriteConsoleOutputAttribute(pHMHandleData,
    716690                                            (LPWORD)arg1,
    717691                                            (DWORD)arg2,
     
    727701      ULONG2COORD(coordWriteCoord,  arg3);
    728702
    729       return (HMDeviceConsoleBufferClass
    730               ::WriteConsoleOutputCharacterA(pHMHandleData,
     703      return (WriteConsoleOutputCharacterA(pHMHandleData,
    731704                                             (LPTSTR)arg1,
    732705                                             (DWORD)arg2,
     
    742715      ULONG2COORD(coordWriteCoord,  arg3);
    743716
    744       return (HMDeviceConsoleBufferClass
    745               ::WriteConsoleOutputCharacterW(pHMHandleData,
     717      return (WriteConsoleOutputCharacterW(pHMHandleData,
    746718                                             (LPWSTR)arg1,
    747719                                             (DWORD)arg2,
     
    25192491
    25202492  /* simply forward the request to that routine */
    2521   return (HMDeviceConsoleBufferClass::WriteFile(pHMHandleData,
     2493  return (/*HMDeviceConsoleBufferClass::*/WriteFile(pHMHandleData,
    25222494                                                lpvBuffer,
    25232495                                                cchToWrite,
  • trunk/src/kernel32/conbuffervio.cpp

    r7550 r10010  
    1 /* $Id: conbuffervio.cpp,v 1.6 2001-12-05 18:05:59 sandervl Exp $ */
     1/* $Id: conbuffervio.cpp,v 1.7 2003-04-11 12:08:35 sandervl Exp $ */
    22
    33/*
     
    273273            VioWrtCharStr(&pszBuffer[ulCounter], numchar, pConsoleBuffer->coordCursorPosition.Y, pConsoleBuffer->coordCursorPosition.X, 0);
    274274            pConsoleBuffer->coordCursorPosition.X += numchar;
     275            VioSetCurPos(pConsoleBuffer->coordCursorPosition.Y, pConsoleBuffer->coordCursorPosition.X, 0);
    275276        }
    276277        ulCounter += numchar;
     
    283284}
    284285
    285 
     286DWORD HMDeviceConsoleVioBufferClass::FillConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
     287                                                             WORD    wAttribute,
     288                                                             DWORD   nLength,
     289                                                             COORD   dwWriteCoord,
     290                                                             LPDWORD lpNumberOfAttrsWritten)
     291{
     292  APIRET  rc;
     293
     294#ifdef DEBUG_LOCAL2
     295  WriteLog("KERNEL32/CONSOLE: HMDeviceConsoleVioBufferClass::FillConsoleOutputAttribute(%08x,attr=%04x,%u,x=%u y=%u,res=%08x).\n",
     296           pHMHandleData,
     297           wAttribute,
     298           nLength,
     299           dwWriteCoord.X,
     300           dwWriteCoord.Y,
     301           lpNumberOfAttrsWritten);
     302#endif
     303
     304  if (HMDeviceConsoleBufferClass::FillConsoleOutputAttribute(pHMHandleData,
     305                                                             wAttribute,
     306                                                             nLength,
     307                                                             dwWriteCoord,
     308                                                             lpNumberOfAttrsWritten))
     309  {
     310    rc = VioWrtNAttr((PBYTE)&wAttribute, *lpNumberOfAttrsWritten, dwWriteCoord.Y, dwWriteCoord.X,
     311                     0);
     312    if (rc == NO_ERROR)
     313    {
     314      return TRUE;
     315    } else
     316    {
     317      return FALSE;
     318    }
     319  } else
     320    return FALSE;
     321}
     322
     323DWORD HMDeviceConsoleVioBufferClass::FillConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
     324                                                              UCHAR   ucCharacter,
     325                                                              DWORD   nLength,
     326                                                              COORD   dwWriteCoord,
     327                                                              LPDWORD lpNumberOfCharsWritten)
     328{
     329  APIRET  rc;
     330
     331#ifdef DEBUG_LOCAL2
     332  WriteLog("KERNEL32/CONSOLE: HMDeviceConsoleVioBufferClass::FillConsoleOutputCharacterA(%08x,char=%02x,%u,x=%u y=%u,res=%08x).\n",
     333           pHMHandleData,
     334           ucCharacter,
     335           nLength,
     336           dwWriteCoord.X,
     337           dwWriteCoord.Y,
     338           lpNumberOfCharsWritten);
     339#endif
     340  if (HMDeviceConsoleBufferClass::FillConsoleOutputCharacterA(pHMHandleData,
     341                                                                 ucCharacter,
     342                                                                 nLength,
     343                                                                 dwWriteCoord,
     344                                                                 lpNumberOfCharsWritten))
     345  {
     346    rc = VioWrtNChar((PCH)&ucCharacter, *lpNumberOfCharsWritten, dwWriteCoord.Y, dwWriteCoord.X,
     347         0);
     348    if (rc == NO_ERROR)
     349    {
     350      return TRUE;
     351    } else
     352    {
     353      return FALSE;
     354    }
     355  } else
     356    return FALSE;
     357}
     358
  • trunk/src/kernel32/conbuffervio.h

    r7549 r10010  
    1 /* $Id: conbuffervio.h,v 1.2 2001-12-05 14:15:57 sandervl Exp $ */
     1/* $Id: conbuffervio.h,v 1.3 2003-04-11 12:08:36 sandervl Exp $ */
    22
    33/*
     
    5757                             LPOVERLAPPED_COMPLETION_ROUTINE  lpCompletionRoutine);
    5858
     59  virtual DWORD  FillConsoleOutputAttribute(PHMHANDLEDATA pHMHandleData,
     60                                            WORD          wAttribute,
     61                                            DWORD         nLength,
     62                                            COORD         dwWriteCoord,
     63                                            LPDWORD       lpNumberOfAttrsWritten);
     64
     65DWORD HMDeviceConsoleVioBufferClass::FillConsoleOutputCharacterA(PHMHANDLEDATA pHMHandleData,
     66                                                              UCHAR   ucCharacter,
     67                                                              DWORD   nLength,
     68                                                              COORD   dwWriteCoord,
     69                                                              LPDWORD lpNumberOfCharsWritten);
     70
    5971};
    6072
Note: See TracChangeset for help on using the changeset viewer.