Remove a spurious cast, and add a note for the pInputControl parameter of ReadConsole.
[CONSRV]
- Move some input/output console function helpers to condrv.
- The way we notify for the presence of new input data, or for console pausing/unpausing, should be reconsidered (who should do this? The console driver? The active front-end?)
svn path=/trunk/; revision=59345
- Enable STLPort build on MSVC
- Configure STLPort not to generate static constant definitions (which MSVC doesn't like)
- Link C++ modules to stlport and cpprt as appropriate
- Fix comsupp and atl C++ options
CORE-6950
svn path=/trunk/; revision=59290
- Simplify initialization of CONSOLE_START_INFO objects by also initializing their AppPath member in InitConsoleInfo.
- Add two members IconPath and IconIndex in the CONSOLE_START_INFO structure, to be used in a future work...
[HEADERS]
- CHAR_INFO* == PCHAR_INFO
- Add two informative comments for two fields of the CONSOLE_READOUTPUT structure (again, to be used in a future work...)
svn path=/trunk/; revision=59234
- Add NUMBER_POOL_LOOKASIDE_LISTS constant
- Add PAT MSR constants for amd64
- Add missing extern "C"
[NTOSKRNL]
- Fix pool lookaside list usage for 64 bit
svn path=/trunk/; revision=59194
Fix return type and usage of RtlDetermineDosPathNameType_U, and use the declaration of RTL_PATH_TYPE in winternl.h instead of the wineism DOS_PATHNAME_TYPE.
See r59183 and 59184 for more information.
svn path=/trunk/; revision=59185
Fix return type and usage of RtlDetermineDosPathNameType_U, and use the declaration of RTL_PATH_TYPE in winternl.h instead of the wineism DOS_PATHNAME_TYPE.
[RTL:PATH]
- Make usage of the IS_PATH_SEPARATOR(...) macro instead of automatically checking for L'\\' or L'/', and of OBJ_NAME_PATH_SEPARATOR when checking for L'\\' only or setting the character L'\\' (just code consistency only).
<Test fixes:>
- Fix a search loop and a check in RtlpWin32NTNameToNtPathName_U (a problem of setting the pointer *PartName via the variable p existed (always 1 character shift wrt. the expected result, and now *PartName is set to NULL even if p == NewBuffer).
- Zero out an optional parameter (if present) in RtlDosSearchPath_Ustr.
- Zero out the return buffer in RtlGetFullPathName_U (function from Wine).
Those fixes ^ correct the following tests:
* ntdll:RtlDosPathNameToNtPathName_U (58 errors to 4 errors remaining due to UNC path handling).
* ntdll:RtlDosSearchPath_U (9 errors to 6 errors remaining due to the fact that our RtlDosSearchPath_U doesn't throw exception on bad arguments because it checks the validity of its arguments (pointers especially), whereas on Windows it seems it doesn't happen to be the case).
* ntdll:RtlDosSearchPath_Ustr (4 errors to full success).
* ntdll:RtlGetFullPathName_U (31 errors to 8 errors).
* ntdll:RtlGetFullPathName_UstrEx (29 errors to 6 errors).
svn path=/trunk/; revision=59183
- Change inclusion order. This is necessary when using VS static analyze, which requires IRQL level constants to be defined before IRQL annotations are used.
- Comment out 2 ASSERTS in amd64 specific code for now.
- Add cmtypes to ntddk.template.h to account, replacing the manually added structures
svn path=/trunk/; revision=59154
- Add proper definition for DBG_UNREFERENCED_PARAMETER and DBG_UNREFERENCED_LOCAL_VARIABLE
[NTOSKRNL/RTL]
- Fix a number of warnings about unreferenced local variables
- Add 2 assertions that unmapping a section succeeds
svn path=/trunk/; revision=59151
- Implement SetConsoleCursor and ShowConsoleCursor (set the shape of the cursor, and show/hide it). It appears that SetConsoleCursor acts only on graphics screen buffers (tested on Windows).
I personnaly think it's a limitation we can suppress, but at the moment I keep it.
- Implement SetConsoleMaximumWindowSize which does nothing else than returning TRUE but doesn't give any constraint on the maximum size of the console window (tested on Windows Server 2003).
See http://undoc.airesoft.co.uk/kernel32.dll/SetConsoleCursor.php , http://undoc.airesoft.co.uk/kernel32.dll/ShowConsoleCursor.php and http://undoc.airesoft.co.uk/kernel32.dll/SetConsoleMaximumWindowSize.php for more details.
Useful for the NTVDM interface !
[CONSRV:Gui frontend]
- Fix "Select all" action.
- Enable or disable "Copy" and "Paste" commands in the edition menu.
svn path=/trunk/; revision=59135
Fix some compilation warnings with MSVC.
[KERNEL32-CONSRV]
- Implement console graphics screen buffers, as described in http://blog.airesoft.co.uk/2012/10/things-ms-can-do-that-they-dont-tell-you-about-console-graphics/ .
The idea is that the console server creates a memory shared section to be shared with the client console application (it increases performance). A mutex is used to "say" to the console server that he can repaint the screen. The function InvalidateConsoleDIBits is implemented too. The definition of the structure CONSOLE_GRAPHICS_BUFFER_INFO comes directly from the site.
- CreateConsoleScreenBuffer was modified to be able to create such buffers.
This is needed for a working NTVDM-like application.
[CONSRV]
- Rework the console buffer structures so that text-mode buffers and graphics-mode buffers can "inherit" from an "abstract" structure, CONSOLE_SCREEN_BUFFER. Add few helper functions for manipulating them.
- Reorganize the output code in "graphics.c" and "text.c" files to separate text-mode only code from graphics-mode only code, both in the console server and in the GUI front-end.
Other fixes:
- Fix mouse handling (left and right clicks when one goes away from the "Selection" mode); do not handle mouse signal when we reactivate the GUI front-end window by a click.
- Fix GetLargestConsoleWindowSize API in console server side. Now pressing Alt+F9 in Far Manager to "change" the "video" mode works correctly.
Finally:
- Start to implement a (fake, i.e. not using directly a VGA driver) console fullscreen mode. Currently Alt-Enter key presses call a stub which just alternates DPRINTing between "switch to fullscreen mode" and "switch to windowed mode".
Images here:
- Example of an application (a 16-bit emulator by Mysoft) which uses the console graphics screen-buffer functionality: http://img577.imageshack.us/img577/1693/mysoftemulatorargon.png
- A potpourri of console applications which use graphics screen-buffers: http://img571.imageshack.us/img571/6526/consoledelirium.png
Enjoy :)
svn path=/trunk/; revision=59099
- Add some missing 64 bit intrinsics
- Fix a warning in intsafe.h
- Use SAL2 annotations in sspi.h
- Fix some annotations
svn path=/trunk/; revision=59094
* Sync with Wine 1.5.26 and update Wine gecko package to 1.9.
[PSDK]
* Update mshtmdid.h and mshtml.idl.
[APPWIZ]
* Import the new way of handling Wine gecko package.
[BOOTDATA/PACKAGES]
* Account for the new Wine gecko package slipstreaming.
svn path=/trunk/; revision=59047
* Fix ITravelLogClient::GetWindowData() definition (parameters) and correct its use.
* Account for tlogstg.h where the ITravelLogClient interface is now defined.
[PSDK]
* Import tlogstg.idl from Wine 1.5.26.
* Remove the now duplicated definitions from shobjidl.idl.
[UUID]
* Add tlogstg.idl.
svn path=/trunk/; revision=59024
- FreeLdr is able now to load personalized Kernel Debugger Transport DLLs by reading at the kernel command line and interpreting the /DEBUGPORT=xxx entry (--> loads KDxxx.DLL dll in \SystemRoot\System32\).
Therefore we can not only load the "default" kdcom.dll, but also 3rd-party ones such as kdbazis.dll from VirtualKD (from revision 58902).
- The GCC-compiled-only version of kdcom, containing legacy COM code, was removed and put directly along KDBG. It remains only a stub / template for future kdcom-like dlls. The MSVC-version remains untouched.
- Make those functions ^ use directly the CPORTLIB library.
svn path=/trunk/; revision=58974
* Add NT_CONSOLE_PROPS and NT_FE_CONSOLE_PROPS and fix EXP_SZ_LINK.
* Add SHELL_LINK_INFO_* and some Shell Link Extra Data structures (for IShellLinkDataList).
[USERINIT][CPLS][DLLS]
* Add the now necessary wincon.h inclusion.
* Brought to you by Dominik Hornung.
CORE-7162 #resolve #comment Committed in r58930. Danke !
svn path=/trunk/; revision=58930
The idea then would be to have the following behaviour (when specifying the following options in the kernel command line):
/DEBUGPORT=COMi --> load KDCOM.DLL and use COMi port (i == 1,2,3,4) if possible.
/DEBUGPORT=FOO --> load KDFOO.DLL (useful for KDUSB.DLL, KD1394.DLL, KDBAZIS.DLL for VirtualKD, etc...)
/DEBUGPORT=ROSDBG:[COMi|SCREEN|FILE|GDB|...] --> load KDROSDBG.DLL which contains the ROS kernel debugger, and use COMi or SCREEN or... as output port.
svn path=/branches/kd++/; revision=58883
* Import from Wine 1.5.26.
[PSDK]
* Import docobjectservice.idl and htiface.idl from Wine.
* Add some missing definitions in shlobj.h.
[UUID]
* Add docobjectservice.idl and htiface.idl to the list.
* Add CGID_DocHostCommandHandler.
svn path=/trunk/; revision=58783