Commit graph

72666 commits

Author SHA1 Message Date
Timo Kreuzer 094a90ad4e [NTOS:PS] Fix an issue with PROCESS_DEVICEMAP_INFORMATION size on 64 bit builds
The PROCESS_DEVICEMAP_INFORMATION  union has 2 fields, one is a handle, the other one is a structure of 36 bytes (independent of architecture). The handle forces 64 bit alignment on 64 bit builds, making the structure 4 bytes bigger than on 32 bit builds. The site is checked in NtQueryInformationProcess (case ProcessDeviceMap). The expected size on x64 is the size of the Query structure without alignment. autocheck correctly passes the site of the Query union member, while smss passes the full size of PROCESS_DEVICEMAP_INFORMATION. Packing the structure is not an option, since it is defined in public headers without packing. Using the original headers sizeof(PROCESS_DEVICEMAP_INFORMATION) is 0x28, sizeof(PROCESS_DEVICEMAP_INFORMATION::Query) is 0x24.
2018-08-17 22:08:37 +02:00
Hermès Bélusca-Maïto 36174f926b
[USER32] Implement support for the MB_SERVICE_NOTIFICATION flag in the MessageBox*() APIs. 2018-08-17 21:50:09 +02:00
Hermès Bélusca-Maïto c035f4648b
[ROSTESTS] Add a test for the MB_SERVICE_NOTIFICATION flag of the MessageBox*() APIs. 2018-08-17 21:50:08 +02:00
Hermès Bélusca-Maïto f8f08f3e9b
[ROSTESTS] Rename the "softmodalmsgbox" test to "messagebox". 2018-08-17 21:50:07 +02:00
Timo Kreuzer 2c909db295 [NTOS:OB] Rename object types to their official names to satisfy WinDbg
- Rename ObDirectoryType to ObpDirectoryObjectType and remove it from NDK (this is not exported!)
- Rename ObSymbolicLinkType to ObpSymbolicLinkObjectType
- Remove duplicated ObpTypeObjectType from ob.h
2018-08-17 20:28:45 +02:00
Pierre Schweitzer 65f9783808
[NTOSKRNL] Properly initialize the IO_STATUS_BLOCK 2018-08-17 19:13:13 +02:00
Joachim Henze abf9340f1b [SHELL32] Translation de-DE CORE-14916
fix control overlapping in IDD_FOLDER_OPTIONS_FILETYPES
(broke in 0.4.10-dev-24-ed1c6bb0060d06f4c0167d9c2d732f4dc2b4cce4)

and translate IDD_NEWEXTENSION, IDD_EDITTYPE, IDD_ACTION, IDD_FOLDER_CUSTOMIZE
2018-08-17 18:07:35 +02:00
Hermès Bélusca-Maïto 9b4673a3ca
[USER32] Update file description. 2018-08-17 17:12:25 +02:00
Hermès Bélusca-Maïto 2be262bfb1
[USER32] Implement SoftModalMessageBox() based on the original MessageBoxTimeoutIndirectW().
Additional changes:

- Adapt the message-box dialog procedure to correctly take into account
  the presence or absence of a CANCEL button and take appropriate actions.

- Cache the strings retrieved by MB_GetString() (add FIXME notices too).
2018-08-17 17:12:24 +02:00
Hermès Bélusca-Maïto 5fedabbf0a
[ROSTESTS] Add an interactive test for the user32.dll API SoftModalMessageBox(). 2018-08-17 17:12:23 +02:00
Hermès Bélusca-Maïto 4f7318b759
[USER32] Code refactoring for MessageBoxTimeoutIndirectW(), in preparation for SoftModalMessageBox() implementation.
- Remove usage of ButtonLen and ibtn-pointer arrays, to make the code
  more generic and less dependent on the (maximal) number of buttons
  in the message boxes.

- Move around the code that computes the positions and sizes of the
  window controls.
2018-08-17 17:12:22 +02:00
Hermès Bélusca-Maïto e3fee2db82
[USER32] Get rid of the old MSGBOXINFO structure and use the new internal MSGBOXDATA structure instead. 2018-08-17 17:12:21 +02:00
Hermès Bélusca-Maïto b55cf70340
[USER32] Code formatting only. 2018-08-17 17:12:21 +02:00
Hermès Bélusca-Maïto cb77cc707f
[USER32] Specify the font to be used for the message-box in its dialog template, using DS_SETFONT and a font point size of 0x7FFF, instead of passing a font handle and setting the font of each control manually.
Also improve the flags used in the DrawTextW() call for calculating
the size to be taken by the message-box text.
2018-08-17 17:12:20 +02:00
Hermès Bélusca-Maïto ed1de7184c
[SDK][UNDOCUSER] Add undocumented user32.dll SoftModalMessageBox() definition and its structure MSGBOXDATA.
Documented on http://www.vbforums.com/showthread.php?840593-Message-Box-with-Four-Buttons
and augmented from my own testings.

In addition, add also MessageBoxTimeoutA/W() and MB_GetString().
2018-08-17 17:12:20 +02:00
Hermès Bélusca-Maïto 7bfd6858fb
[PSDK] Add IDCANCEL and IDASYNC values (returned by MessageBoxTimeout() and WTSSendMessage() functions). 2018-08-17 17:12:19 +02:00
Hermès Bélusca-Maïto fcfcf7a5c9
[USER32] Move related functions close to each other. 2018-08-17 17:12:19 +02:00
Hermès Bélusca-Maïto 5e4b3c7cf0
[USER32] Code formatting/indentation fixes only. 2018-08-17 17:12:15 +02:00
Oleksandr Shaposhnikov 729d6e7981
[CONFIGURE] Fix tabulation issue 2018-08-17 17:45:07 +03:00
Serge Gautherie 669d6b445b [SHELL32_WINETEST] Fix 2 MSVC warnings about flags
- "...\ebrowser.c(1188) : warning C4133: 'function' : incompatible types - from 'DWORD *' to 'EXPLORER_BROWSER_OPTIONS *'"
- "...\ebrowser.c(1198) : warning C4133: 'function' : incompatible types - from 'DWORD *' to 'EXPLORER_BROWSER_OPTIONS *'"

Cherry-pick 535f2f9e66
CORE-7538
2018-08-17 16:21:30 +02:00
Serge Gautherie 2ad650469e [OLEAUT32] Fix an MSVC warning about VarCyMul()
"...\vartype.c(3808) : warning C4028: formal parameter 2 different from declaration"

Mininal cherry-pick Alexandre Julliard 18f7ec3670
CORE-7538
2018-08-17 16:18:41 +02:00
Katayama Hirofumi MZ bd2ab1e9bc [FONT][WIN32SS] Ignore identical mapping in IntLoadFontSubstList 2018-08-17 16:05:04 +02:00
Serge Gautherie 2ee150c374 [REACTOS] Warn if not using RosBE custom CMake
Better be explicit immediately, than fail later without a clue.

Thanks to Yuntian Zhang for initial code, adapted by me.

CORE-14607
2018-08-17 14:03:59 +02:00
Pierre Schweitzer 12e8d7fe0e
[NTOSKRNL] Only allow page file on a few specific device types 2018-08-16 19:00:22 +02:00
Pierre Schweitzer cc59c97308
[NTOSKRNL] Don't need all access for file object 2018-08-16 18:54:23 +02:00
Pierre Schweitzer 8281f4baa6
[NTOSKRNL] Add a check commented out for now.
It's to be enabled once page file handling is moved to ARM3
2018-08-16 18:49:55 +02:00
Pierre Schweitzer 7f0ad923d2
[NTOSKRNL] MmTotalCommitLimit and MmTotalCommitLimitMaximum are in pages, not bytes 2018-08-16 18:40:23 +02:00
Oleksandr Shaposhnikov c8d51bb87a
[CONFIGURE] Added support for new VS 19.15.x 2018-08-16 18:13:54 +03:00
Timo Kreuzer dd73d1b6d4 [NTOS:MM] Make SLIST handling for kernel stacks portable
Kernel stacks that re freed, can be placed on an SLIST for quick reuse. The old code was using a member of the PFN of the last stack page as the SLIST_ENTRY. This relies on the following (non-portable) assumptions:
- A stack always has a PTE associated with it.
- This PTE has a PFN associated with it.
- The PFN has an empty field that can be re-used as an SLIST_ENTRY.
- The PFN has another field that points back to the PTE, which then can be used to get the stack base.

Specifically: On x64 the PFN field is not 16 bytes aligned, so it cannot be used as an SLIST_ENTRY. (In a "usermode kernel" the other assumptions are also invalid).

The new code does what Windows does (and which seems absolutely obvious to do): Place the SLIST_ENTRY directly on the stack.
2018-08-16 16:52:02 +02:00
Timo Kreuzer 6c154c0625 [NTOS:SE] Fix SeSetSecurityDescriptorInfoEx to prevent pool corruption on x64 2018-08-16 16:32:49 +02:00
Getequ d559ca9c98 [ADVAPI32][SHELL32][DESK.CPL] Kill copy-paste of RegLoadMUIString. (#748)
RegLoadMUIStringW/A is part of advapi32.dll . shell32.dll and desk.cpl contained exact line-by-line copy of that function.
2018-08-16 16:10:41 +02:00
Serge Gautherie 20d4b2cfac [NTOS:MM] Update a DPRINT string (#760)
CORE-12729
2018-08-16 15:10:24 +02:00
Katayama Hirofumi MZ 5b89e663af [FONT][WIN32SS] Support MS symbol encoding (#759)
This commit adds support for the MS symbol encoding (FT_ENCODING_MS_SYMBOL) in our font engine.
It also fixes the display of the Anastasia font. And replacing our Marlett font with Windows' Marlett font is also fixed.

CORE-13269, CORE-14907
2018-08-16 14:38:46 +02:00
Thomas Faber 5403094339
[USBPORT] Fix 64 bit warnings. 2018-08-16 14:14:42 +02:00
Thomas Faber bd4529b717
[USBPORT] Specify the correct length for the root hub's hub descriptor. 2018-08-16 14:14:31 +02:00
Thomas Faber db54e5eb1c
[USBPORT] Remove an unnecessary check in USBPORT_AllocateBandwidthUSB2. CID 1434261 2018-08-16 14:14:23 +02:00
Thomas Faber 7ad4cf96f3
[USBPORT] Remove an unnecessary check in USB2_ConvertFrame. CID 1434244 2018-08-16 14:14:15 +02:00
Thomas Faber d1e5699e60
[USBPORT] Accept negative BusTime in USB2_MoveTtEndpoint. CID 1434226 2018-08-16 14:14:04 +02:00
Thomas Faber 7b2bb85ceb
[WIN32K:NTUSER] Fix type confusion in MsgMemorySize. 2018-08-16 14:13:47 +02:00
Pierre Schweitzer 19318dcc1d
[NTOSKRNL] Start making our MMPAGING_FILE struct look like the real one 2018-08-16 14:04:27 +02:00
Pierre Schweitzer e392bdf962
[NTOSKRNL] Store page file sizes in pages, not in bytes 2018-08-16 13:50:16 +02:00
Pierre Schweitzer 2fe4e71383
[NTOSKRNL] Store page file minimum size and use it to prevent page file shrinking 2018-08-16 13:41:16 +02:00
Pierre Schweitzer bfc6a7957c
[NTOSKRNL] Page files don't have an init size, but a minimum size
NFC
2018-08-16 12:42:34 +02:00
Pierre Schweitzer 315867d4ff
[NTOSKRNL] Drop the MmPagingFile spin lock in favor of a guarded mutex 2018-08-16 12:39:24 +02:00
Pierre Schweitzer 891a6eeeb9
[NTOSKRNL] Drop the alloc map from page file
It was making no sense, and implemented in a broken way
that couldn't have worked if code path was used.
2018-08-16 12:16:39 +02:00
Pierre Schweitzer 5bd938bd24
[NTOSKRNL] Stub page file extension support 2018-08-16 11:58:58 +02:00
Katayama Hirofumi MZ 11b7619a71 [WIN32SS] Fix DrawText wrt DT_CALCRECT | DT_VCENTER (#745)
The test program: https://jira.reactos.org/secure/attachment/47925/TnB3.zip
CORE-14896
2018-08-15 19:50:19 +02:00
Stanislav Motylkov 68a4cdd5ec [SYSDM] Use single string control for system version 2018-08-15 19:30:23 +02:00
Katayama Hirofumi MZ 6d9f89f813 [SYSSETUP] Fix the button sizes of theme selection dialog (#746)
CORE-14896
2018-08-15 18:32:17 +02:00
Mike Swanson 3c7e9bb332 Remove unnecessary executable bits 2018-08-15 18:29:09 +02:00