Commit Graph
6480 Commits
Author SHA1 Message Date
Hermès Bélusca-Maïto 7c2b066810 [CONSOLE.CPL-KERNEL32]
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
2013-05-29 00:29:07 +00:00
Timo Kreuzer 5057af6764 [INCLUDE]
- 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
2013-05-27 20:55:23 +00:00
Amine Khaldi f76f7f14bb [WINDOWSCODECS]
* Sync with Wine 1.5.26.
[PSDK]
* Update wincodec.idl.

svn path=/trunk/; revision=59071
2013-05-23 16:39:54 +00:00
Eric Kohl a4283325e7 [NETAPI32]
- Add stubs for missing NetGroup functions.
- Update header file.

svn path=/trunk/; revision=59070
2013-05-23 15:20:29 +00:00
Amine Khaldi f3e41bd1fc [WINHTTP]
* Sync with Wine 1.5.26.
* Update winhttp_ros.diff.
[PSDK]
* Update winhttp.h.

svn path=/trunk/; revision=59064
2013-05-21 20:06:46 +00:00
Amine Khaldi 7f2d1fc323 [WININET]
* Sync with Wine 1.5.26.
* Update wininet_ros.diff.
[PSDK]
* Update wininet.h and winineti.h.

svn path=/trunk/; revision=59061
2013-05-20 21:42:26 +00:00
Amine Khaldi aac49827b9 [MSHTML]
* 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
2013-05-19 21:21:20 +00:00
Amine Khaldi deed915ead [PSDK]
* Update shdeprecated.idl.

svn path=/trunk/; revision=59043
2013-05-19 14:38:17 +00:00
Amine Khaldi b4edec9989 [DXSDK]
* We no longer need amvideo.h.
* Update amvideo.idl.

svn path=/trunk/; revision=59041
2013-05-19 13:52:15 +00:00
Amine Khaldi 9ffdd562a1 [BROWSEUI]
* 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
2013-05-17 11:19:48 +00:00
Amine Khaldi 5e4681d91e [PSDK]
* Add some missing definitions in activscp.idl.

svn path=/trunk/; revision=59016
2013-05-15 17:28:21 +00:00
James Tabor 016d53260e [Win32k]
- ATI fixup CORE-6551.
- Giannis Adamopoulos fragment patch 18.

svn path=/trunk/; revision=58986
2013-05-10 22:28:18 +00:00
Hermès Bélusca-Maïto 91ef640fe5 Merge my current work done on the kd++ branch:
- 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
2013-05-09 13:12:58 +00:00
Amine Khaldi 018f811091 [XDK/DDK]
* The event parameter in IoBuildDeviceIoControlRequest is optional. Spotted by Nikolay Borisov.
CORE-7172 #resolve

svn path=/trunk/; revision=58965
2013-05-08 10:26:24 +00:00
Amine Khaldi 800947d692 [PSDK]
* 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
2013-05-04 20:43:16 +00:00
Amine Khaldi 148e43e691 [CRT]
* Annotate sys/utime.h.

svn path=/trunk/; revision=58929
2013-05-04 20:42:43 +00:00
Amine Khaldi 5ffb258f8a [FUSION]
* Sync with Wine 1.5.26.

svn path=/trunk/; revision=58927
2013-05-04 20:21:39 +00:00
Jérôme Gardou 703a1db75e [PSDK]
* Add complete definition of KEY_INFORMATION_CLASS
[DDK]
 * Add KEY_NAME_INFORMATION structure declaration

svn path=/trunk/; revision=58915
2013-05-03 18:28:34 +00:00
Amine Khaldi f93d55e8a9 [CRT]
* Annotate tchar.h.

svn path=/trunk/; revision=58912
2013-05-02 17:09:34 +00:00
Amine Khaldi b3a3a9d7ac [CRT]
* Annotate memory.h.

svn path=/trunk/; revision=58911
2013-05-02 14:21:18 +00:00
Eric Kohl c4682b16cb [INCLUDE]
Add missing LSA_TOKEN_INFORMATION_NULL and LSA_TOKEN_INFORMATION_V1 types.

svn path=/trunk/; revision=58900
2013-05-01 13:44:24 +00:00
Hermès Bélusca-Maïto e1ef078741 Create this branch to work on loading of different Kernel-Debugger DLL providers, and see whether it is possible to move KDBG from ntoskrnl to a new DLL called, say, KDROSDBG.DLL.
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
2013-04-28 13:26:45 +00:00
Thomas Faber 6b3b943c2e [PSDK]
- Add SHELL_LINK_HEADER structure. Update SHELL_LINK_DATA_FLAGS. Patch by Dominik Hornung (dominikhornung at gmx dot de).
CORE-7099

svn path=/trunk/; revision=58880
2013-04-28 09:49:09 +00:00
Thomas Faber d0becb5ee6 [PSDK]
- Replace winsafer.h with a usable version
CORE-6942

svn path=/trunk/; revision=58866
2013-04-27 09:01:02 +00:00
Hermès Bélusca-Maïto f892276e85 [PSDK]
Clarify the meaning of the parameters of MAKEWORD/MAKELONG

svn path=/trunk/; revision=58853
2013-04-25 22:20:00 +00:00
Hermès Bélusca-Maïto e214308f84 [CPORTLIB]
Add a #pragma once directive to forbid multiple inclusions of the same header.

[NTOSKRNL:KD64]
Code formatting only

svn path=/trunk/; revision=58805
2013-04-21 14:03:07 +00:00
Amine Khaldi d2577f2eff [PSDK]
* Sync some exdisp.idl changes with Wine.

svn path=/trunk/; revision=58796
2013-04-20 22:21:07 +00:00
Hermès Bélusca-Maïto 25aef73037 [PSDK]
Fix some declarations (checked against Windows PSDK and Arwinss, which showed me the Truth :P).

svn path=/trunk/; revision=58784
2013-04-18 22:13:50 +00:00
Amine Khaldi 00ac0d48b1 [IEFRAME]
* 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
2013-04-18 21:46:58 +00:00
Giannis Adamopoulos 0754d3be29 [uxtheme]
- Stub OpenThemeDataFromFile and DrawNCPreview that will be used by desk.cpl in the future

svn path=/trunk/; revision=58778
2013-04-18 17:09:20 +00:00
Hermès Bélusca-Maïto 599a7affa3 [REACTOS]
Merge of the ros-csrss branch created with a three-fold purpose:

- Use the new Windows-compatible Client-Server Runtime Subsystem (csrss + csrsrv)
written by Alex Ionescu to replace the old hacked one. Also the CSR client part,
residing in ntdll, is updated. Some work also done on the dlls side, which
communicate with CSR, namely kernel32.

- Replace our very old win32csr.dll CSR server by the collection basesrv.dll /
winsrv.dll as it is done under Windows.

- Since the console subsystem is (for historical purposes on Windows) the
only subsystem which exploits all the possibilities of the CSR, I decided to
put it in a new CSR dll called 'consrv.dll', even if on Windows it is included
together with other APIs inside the winsrv dll (since Windows NT 3.1 release)
(I took the name 'consrv' from the dll where it was included in Windows NT 3.1
beta from October 1991). Some work was also done on its internal architecture
(the external interface is of course unchanged for compatibility reasons) and a
two-layer approach was developed, using the existing idea of console functions +
GUI or TUI we already had in win32csr:
	* the "console server" which dialogs with the console applications,
and which maintains a list of all the created consoles.
	* different "front-ends" corresponding to where you want to output
the information (~= console hardware) (Work-In-Progress).
Another idea would be to make those front-ends dynamically-loadable (instead
of being compiled inside consrv).
- I also fixed some parts of the console properties dialog box.

More information can be found in http://www.reactos.org/archives/public/ros-dev/2013-April/016121.html

CORE-122 CORE-2510 CORE-7002 #resolve #comment Committed in revision r58xxx.

svn path=/trunk/; revision=58770
2013-04-15 19:32:00 +00:00
Amine Khaldi f31ab09118 [DINPUT]
* Sync with Wine 1.5.26.

svn path=/trunk/; revision=58768
2013-04-15 18:54:35 +00:00
Amine Khaldi 18e14e7e3e [DSOUND]
* Sync with Wine 1.5.26.

svn path=/trunk/; revision=58752
2013-04-13 23:33:54 +00:00
Amine Khaldi 58c8c13693 [PSDK]
* Import audioclient.idl and mmdeviceapi.idl from Wine and add them to the generated PSDK headers.
* Add missing WAVE_FORMAT_IEEE_FLOAT definition to mmreg.h.
* Import audiosessiontypes.h, devpkey.h and propkey.h from Wine.

svn path=/trunk/; revision=58751
2013-04-13 23:28:46 +00:00
Amine Khaldi dfa9f630bb * Forgot the GCC case.
svn path=/trunk/; revision=58750
2013-04-13 22:42:50 +00:00
Amine Khaldi 78c8abf0e3 [PSDK]
* Add DECLSPEC_SELECTANY.

svn path=/trunk/; revision=58749
2013-04-13 22:35:13 +00:00
Hermès Bélusca-Maïto c6990096ac [REACTOS]
Addendum to revision r58744.

CORE-7062 #comment the NDIS_** structures, albeit containing the "recieve" misspelling, must be kept as they are because we must be compatible with the Windows DDK. Indeed this one contains the misspelling. Blame Microsoft if they do not know how to write proper English or if they do not re-read what they are writing !!

svn path=/trunk/; revision=58748
2013-04-13 22:11:40 +00:00
Hermès Bélusca-Maïto 157aa32663 [REACTOS]
Correct spelling of "receive" throughout the codebase.
Patch by andygui.

CORE-7062 #resolve #comment Fixed in revision r58744. Thanks :)

svn path=/trunk/; revision=58744
2013-04-13 21:28:10 +00:00
Amine Khaldi c2d5094a67 [DMUSIC]
* Sync with Wine 1.5.26.

svn path=/trunk/; revision=58739
2013-04-13 17:29:01 +00:00
Timo Kreuzer 12eabcde28 [DDK]
Fix the definition of BYTES_TO_PAGES. While the macro might look overcomplicated, it actually needs to be this way to prevent integer overflows.

svn path=/trunk/; revision=58738
2013-04-13 16:10:09 +00:00
Amine Khaldi ffa7a81ee3 [DPLAY][DPLAYX]
* Sync with Wine 1.5.26.

svn path=/trunk/; revision=58736
2013-04-13 13:08:11 +00:00
Jérôme Gardou ca42a3e9f5 [PSDK]
* Don't be so complicated for defining the DEFINE_GUIDSTRUCT and DEFINE_GUIDNAMED macros on GCC
CORE-7052 #comment fixed in 58697, thanks. #resolve

svn path=/trunk/; revision=58697
2013-04-06 22:38:00 +00:00
Jérôme Gardou f380de49ba [CRT]
- Add definition and GCC implementation of _mm_setcsr and _mm_getcsr

svn path=/trunk/; revision=58691
2013-04-06 19:13:01 +00:00
Amine Khaldi 8d892dc056 [PSDK]
* Add DEFAULT_UNREACHABLE macro to ntdef.h.
* Add break to the last case.

svn path=/trunk/; revision=58686
2013-04-06 10:36:24 +00:00
Hermès Bélusca-Maïto 26895da7e6 [REACTOS]
Fix spelling of 'length' in various places.
Patch by andygui

Concerning kdio.c, we can see that the original author didn't see his misspelling since he used two different variables named:
KdpScreenLineLength and KdpScreenLineLenght ! ; the latter being renamed here KdpScreenLineLengthDefault to make the difference.

CORE-7043 #comment Part for ReactOS committed in r58672, thanks!

svn path=/trunk/; revision=58672
2013-04-04 19:29:36 +00:00
Amine Khaldi 0b598500b3 [MSI]
* Sync with Wine 1.5.26.

svn path=/trunk/; revision=58665
2013-04-03 21:58:03 +00:00
Amine Khaldi e5f31224e2 [PSDK]
* Import DEFAULT_UNREACHABLE from Wine.

svn path=/trunk/; revision=58662
2013-04-03 21:16:57 +00:00
Jérôme Gardou 5ad1b4a185 [CRT]
* revert r58654, it was not necessary

svn path=/trunk/; revision=58655
2013-04-02 21:02:50 +00:00
Jérôme Gardou 7e7500bd93 [CRT]
* Don't use the builtin version of _alloca

svn path=/trunk/; revision=58654
2013-04-02 20:27:39 +00:00
Jérôme Gardou 9786c38e69 [PSDK]
* Add missing UNICODE definition in dsound.h
 * Protect against redefinitions in winioctl.h

svn path=/trunk/; revision=58643
2013-04-02 14:16:29 +00:00