Eric Kohl [Sun, 1 Dec 2013 14:22:29 +0000 (14:22 +0000)]
[NOTEPAD]
Improve print argument flag. Patch by Lee Schroeder.
CORE-7514 #resolve
svn path=/trunk/; revision=61173
Amine Khaldi [Sun, 1 Dec 2013 13:54:06 +0000 (13:54 +0000)]
* Tiny addendum to r61170.
svn path=/trunk/; revision=61172
Amine Khaldi [Sun, 1 Dec 2013 13:49:52 +0000 (13:49 +0000)]
[BOOTDATA/PACKAGES]
* Restore the formatting of the optional files, that got accidentally broken in r61156.
svn path=/trunk/; revision=61171
Daniel Reimer [Sun, 1 Dec 2013 13:42:10 +0000 (13:42 +0000)]
Tidy up German RC files after Amines heavy work and the now easily revealed problems in them.
Set SUBLANG to NEUTRAL, not DEFAULT or GERMAN ...
Make taskkill and wmic translateable.
svn path=/trunk/; revision=61170
Amine Khaldi [Sun, 1 Dec 2013 13:30:44 +0000 (13:30 +0000)]
[RAPPS]
* Turkish translation update by Erdem Ersoy.
CORE-7508
svn path=/trunk/; revision=61169
Amine Khaldi [Sun, 1 Dec 2013 13:18:51 +0000 (13:18 +0000)]
[USETUP]
* Turkish translation update by Erdem Ersoy.
CORE-7408
svn path=/trunk/; revision=61168
Amine Khaldi [Sun, 1 Dec 2013 10:53:08 +0000 (10:53 +0000)]
[NTVDM]
* Convert resource files to UTF-8 without BOM. By Yuntian Zhang.
CORE-7418 #resolve
svn path=/trunk/; revision=61167
Amine Khaldi [Sun, 1 Dec 2013 10:38:42 +0000 (10:38 +0000)]
[NOTEPAD]
* Add an explanation for each "Endlines" ComboBox item. By Erdem Ersoy.
CORE-7388 #resolve
svn path=/trunk/; revision=61166
Amine Khaldi [Sun, 1 Dec 2013 10:32:23 +0000 (10:32 +0000)]
[TRANSLATIONS]
* Turkish translation update by Erdem Ersoy.
CORE-7408
svn path=/trunk/; revision=61165
Amine Khaldi [Sun, 1 Dec 2013 10:17:44 +0000 (10:17 +0000)]
[README.WINE]
* Update the status of several modules.
CORE-7469
svn path=/trunk/; revision=61164
Eric Kohl [Sun, 1 Dec 2013 01:32:26 +0000 (01:32 +0000)]
[FDC]
Fix a bug that overwrites drive data if two FDDs are attached to a controller. Only the second drive is detected in this case.
svn path=/trunk/; revision=61162
Daniel Reimer [Sat, 30 Nov 2013 16:29:55 +0000 (16:29 +0000)]
Modify reactos.dff.in to include the optional files the same way the autogenerated reactos.dff does. Meaning all paths in "path/to.here" style.
This fixes the inclusion into the ReactOS system. (Included Gecko, Runtimes and sound drivers now are detected and used while setup)
svn path=/trunk/; revision=61156
Daniel Reimer [Sat, 30 Nov 2013 16:25:58 +0000 (16:25 +0000)]
Update DejaVu Sans/Serif Fonts to Version 2.3.4.
Update "3rd Party Files.txt"
svn path=/trunk/; revision=61155
Eric Kohl [Sat, 30 Nov 2013 10:22:29 +0000 (10:22 +0000)]
[INF]
Add an inf file for floppy disk drives. If you have a floppy disk drive attached to your computer, it should appear in the device manager.
svn path=/trunk/; revision=61154
Eric Kohl [Sat, 30 Nov 2013 10:07:50 +0000 (10:07 +0000)]
[FDC]
Implement IRP_MN_QUERY_CAPABILITIES and IRP_MN_QUERY_ID for the PDOs.
svn path=/trunk/; revision=61153
Amine Khaldi [Sat, 30 Nov 2013 08:40:31 +0000 (08:40 +0000)]
[SHELLEXTS]
* Forgot to commit these in r61130.
CORE-7637
svn path=/trunk/; revision=61152
Eric Kohl [Fri, 29 Nov 2013 23:52:53 +0000 (23:52 +0000)]
[FDC]
- Move FdcAddDevice from fdo.c to fdc.c.
- Create a PDO for each enumerated floppy disk drive.
svn path=/trunk/; revision=61149
Dmitry Gorbachev [Fri, 29 Nov 2013 22:34:43 +0000 (22:34 +0000)]
[NTOSKRNL]
Fix undefined behavior issue.
svn path=/trunk/; revision=61148
Johannes Anderwald [Fri, 29 Nov 2013 22:25:51 +0000 (22:25 +0000)]
[DEVMGR]
- fix warning & bug
- patch by Thomas Faber
CORE-7593 #resolve #comment fixed
svn path=/trunk/; revision=61147
Thomas Faber [Fri, 29 Nov 2013 18:13:28 +0000 (18:13 +0000)]
[MSCONFIG]
- Remove unused rsrc.rc file
svn path=/trunk/; revision=61146
Eric Kohl [Fri, 29 Nov 2013 14:05:43 +0000 (14:05 +0000)]
[FASTFAT]
FsdGetFsVolumeInformation: Return volume creation time.
svn path=/trunk/; revision=61145
Eric Kohl [Fri, 29 Nov 2013 11:05:04 +0000 (11:05 +0000)]
[FASTFAT]
Removed accidential code change!
svn path=/trunk/; revision=61144
Eric Kohl [Fri, 29 Nov 2013 11:03:34 +0000 (11:03 +0000)]
[FORMATTING]
Fix indentation and coding style. No code changes!
svn path=/trunk/; revision=61143
James Tabor [Fri, 29 Nov 2013 03:43:41 +0000 (03:43 +0000)]
[Win32k]
- Fix CORE-1161 and CORE-6651.
- Minor fixups.
svn path=/trunk/; revision=61142
Eric Kohl [Fri, 29 Nov 2013 00:38:10 +0000 (00:38 +0000)]
[FDC]
- Add fdc.sys to the reactos.cab file.
- Start fdc.sys on demand.
svn path=/trunk/; revision=61140
Amine Khaldi [Thu, 28 Nov 2013 22:32:20 +0000 (22:32 +0000)]
[NTOSKRNL]
* And finally: improve ze kirnel's resource files.
CORE-7637 #resolve
svn path=/trunk/; revision=61139
Amine Khaldi [Thu, 28 Nov 2013 22:30:59 +0000 (22:30 +0000)]
[INCLUDE]
* Improve version.rc.
CORE-7637
svn path=/trunk/; revision=61138
Amine Khaldi [Thu, 28 Nov 2013 22:27:43 +0000 (22:27 +0000)]
[HAL/*]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61137
Amine Khaldi [Thu, 28 Nov 2013 22:27:12 +0000 (22:27 +0000)]
[GLU32]
* Improve the resource file.
CORE-7637
svn path=/trunk/; revision=61136
Amine Khaldi [Thu, 28 Nov 2013 22:26:13 +0000 (22:26 +0000)]
[NTDLL]
* Improve the resource file.
CORE-7637
svn path=/trunk/; revision=61135
Amine Khaldi [Thu, 28 Nov 2013 22:24:33 +0000 (22:24 +0000)]
[WIN32SS/*]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61134
Amine Khaldi [Thu, 28 Nov 2013 22:22:24 +0000 (22:22 +0000)]
[BASESRV][CSRSRV][CSRSS][NTVDM]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61133
Amine Khaldi [Thu, 28 Nov 2013 22:19:35 +0000 (22:19 +0000)]
[DRIVERS]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61132
Amine Khaldi [Thu, 28 Nov 2013 22:18:05 +0000 (22:18 +0000)]
[WIN32DLLS]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61131
Amine Khaldi [Thu, 28 Nov 2013 22:15:21 +0000 (22:15 +0000)]
[SHELLEXTS]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61130
Amine Khaldi [Thu, 28 Nov 2013 22:14:03 +0000 (22:14 +0000)]
[KEYBOARDS]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61129
Amine Khaldi [Thu, 28 Nov 2013 22:12:52 +0000 (22:12 +0000)]
[CPLS]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61128
Amine Khaldi [Thu, 28 Nov 2013 22:11:26 +0000 (22:11 +0000)]
[FDEBUG]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61127
Amine Khaldi [Thu, 28 Nov 2013 22:09:27 +0000 (22:09 +0000)]
[BASE/SYSTEM]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61126
Amine Khaldi [Thu, 28 Nov 2013 22:07:56 +0000 (22:07 +0000)]
[BASE/SHELL]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61125
Amine Khaldi [Thu, 28 Nov 2013 22:06:38 +0000 (22:06 +0000)]
[BASE/SETUP]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61124
Amine Khaldi [Thu, 28 Nov 2013 22:04:59 +0000 (22:04 +0000)]
[SERVICES]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61123
Amine Khaldi [Thu, 28 Nov 2013 22:04:03 +0000 (22:04 +0000)]
[APPLICATIONS]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61122
Amine Khaldi [Thu, 28 Nov 2013 22:00:38 +0000 (22:00 +0000)]
[SCREENSAVERS]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61121
Amine Khaldi [Thu, 28 Nov 2013 21:59:13 +0000 (21:59 +0000)]
[APPS/NETWORK]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61120
Amine Khaldi [Thu, 28 Nov 2013 21:57:21 +0000 (21:57 +0000)]
[MSCUTILS]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61119
Amine Khaldi [Thu, 28 Nov 2013 21:56:11 +0000 (21:56 +0000)]
[GAMES]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61118
Amine Khaldi [Thu, 28 Nov 2013 21:52:17 +0000 (21:52 +0000)]
[CMDUTILS]
* Improve resource files.
CORE-7637
svn path=/trunk/; revision=61117
Eric Kohl [Thu, 28 Nov 2013 20:32:37 +0000 (20:32 +0000)]
[FDC]
Enumerate all BIOS-detected floppy drives which are attached to the current controller.
svn path=/trunk/; revision=61116
Eric Kohl [Thu, 28 Nov 2013 15:50:42 +0000 (15:50 +0000)]
[FDC]
10 Build before commit!
20 goto 10
svn path=/trunk/; revision=61115
Eric Kohl [Thu, 28 Nov 2013 15:47:18 +0000 (15:47 +0000)]
[FDC]
- Add a floppy disk controller driver. The driver is WIP.
svn path=/trunk/; revision=61114
Thomas Faber [Thu, 28 Nov 2013 14:32:04 +0000 (14:32 +0000)]
[SERIAL]
- Fix a race condition
svn path=/trunk/; revision=61113
Thomas Faber [Thu, 28 Nov 2013 10:37:04 +0000 (10:37 +0000)]
[SHELL32]
- Remove unused (and unavailable) std namespace reference
CORE-6672
svn path=/trunk/; revision=61112
Timo Kreuzer [Wed, 27 Nov 2013 00:11:06 +0000 (00:11 +0000)]
[NTOSKRNL]
Undo unwanted change. Noticed by Hermes.
svn path=/trunk/; revision=61111
Timo Kreuzer [Wed, 27 Nov 2013 00:04:26 +0000 (00:04 +0000)]
[NTOSKRNL]
- Get rid of MmZeroPte and instead implement MI_ERASE_PTE. Use this and only this to make a PTE zero. The other functions will not allow to do this.
- Add MI_UPDATE_VALID_PTE to update a valid PTE with another valid PTE
- Add 2 additional protection mask constants: MM_PROTECT_ACCESS for the lower 3 bits and MM_PROTECT_SPECIAL for the higher 2 bits. Make use of the latter when dealing with guard pages and caching.
- Deduplicate some code in MmArmAccessFault
- Move code in MiDeleteSystemPageableVm to where it belongs (it was in the wrong else case!)
- Wse MiQueryPageTableReferences instead of manipulating MmWorkingSetList->UsedPageTableEntries
svn path=/trunk/; revision=61110
Timo Kreuzer [Tue, 26 Nov 2013 23:28:37 +0000 (23:28 +0000)]
[NTOSKRNL]
- Implement SepAdjustPrivileges, which does both the counting of (changed) privileges as well as applying them, when requested. Use it in NtAdjustPrivilegesToken twice instead of duplicating the code there.
- Fix return value of NtAdjustPrivilegesToken by making sure to properly count the found privileges and check against the provided ones
- Lock the Token, while messing with the privileges
- Add support for SE_PRIVILEGE_REMOVED
- Proplery (re)calculate Token flags after changing privileges
- Improve failure pathes by using a common cleanup label
- Don't free the allocations atatched to the token in SepCreateToken on failure, since ObDereferenceObject will already do that.
- Make priviliges constants instead of initializing them.
svn path=/trunk/; revision=61109
Timo Kreuzer [Tue, 26 Nov 2013 21:38:02 +0000 (21:38 +0000)]
[NTOSKRNL]
- Remove the BoundaryAddressMultiple parameter from MmCreateMemoryArea (wasn't used) and give it instead a Granularity parameter
- Use the Granularity parameter in MmMapViewOfSegment to make sure that full sections are allocated on a MM_ALLOCATION_GRANULARITY aligned address.
- Check for overflow and unaligned image base in MmMapViewOfSection when mapping image sections
- Return proper status code on failure
svn path=/trunk/; revision=61108
Eric Kohl [Tue, 26 Nov 2013 16:56:33 +0000 (16:56 +0000)]
[NETAPI32]
BuildUserInfoBuffer: Set the UF_PASSWD_CANT_CHANGE account control flag if the user does not have the USER_CHANGE_PASSWORD access right for his own account data.
svn path=/trunk/; revision=61103
Eric Kohl [Tue, 26 Nov 2013 15:27:48 +0000 (15:27 +0000)]
[NTOSKRNL]
- Create the Security directory and the LSA_AUTHENTICATION_INITIALIZED event in SepInitializationPhase1().
- Get rid of SeInitSRM().
svn path=/trunk/; revision=61102
Thomas Faber [Tue, 26 Nov 2013 15:09:21 +0000 (15:09 +0000)]
[KERNEL32]
- Fix wrong check for realtime priority class in CreateProcessInternalW
- Fix double free in GetEnvironmentVariable[AW]
- Fix broken sizeof usage ('X' is of type int!)
- Remove redundant casts and comparisons
svn path=/trunk/; revision=61101
Thomas Faber [Tue, 26 Nov 2013 15:00:06 +0000 (15:00 +0000)]
[POWRPROF]
- Fix a warning
svn path=/trunk/; revision=61100
Thomas Faber [Tue, 26 Nov 2013 14:26:31 +0000 (14:26 +0000)]
[KMTESTS:RTL]
- Fix a warning
svn path=/trunk/; revision=61099
Thomas Faber [Tue, 26 Nov 2013 13:45:33 +0000 (13:45 +0000)]
[NTOS]
- FORCEINLINE belongs before the return type (-Wold-style-declaration)
svn path=/trunk/; revision=61098
Eric Kohl [Mon, 25 Nov 2013 16:00:40 +0000 (16:00 +0000)]
[NETAPI32]
Refactor BuildUserInfoBuffer: Move the user info buffer inside of BuildUserInfoBuffer. This simplifies its callers.
svn path=/trunk/; revision=61097
Thomas Faber [Mon, 25 Nov 2013 12:30:03 +0000 (12:30 +0000)]
[CMAKE]
- Enable -Wtype-limits in GCC builds
svn path=/trunk/; revision=61096
Timo Kreuzer [Mon, 25 Nov 2013 00:18:33 +0000 (00:18 +0000)]
[NTOSKRNL]
Windows / ReactOS uses a software protection field called protection mask, which is stored inside invalid (Software) PTEs to provide information about the desired protection, when a page is made valid by the page fault handler. The mask consists of the values 0-7 specifying the read/write/execute rights, 0 being inaccessible aka MM_ZERO_ACCESS, plus 2 flag-like bits, for uncached and writecombine memory respectively. Both flags together don't make sense, so this combination is used to mark guard pages. Since all these flags only make sense when used together with a proper access (i.e. not MM_ZERO_ACCESS), the combination of these flags together with MM_ZERO_ACCESS was given special meaning: MM_DECOMMIT, which equals MM_GUARDPAGE | MM_ZERO_ACCESS is for decommitted pages, that are not yet erased to zero, MM_NOACCESS, which is the mask for pages that are mapped with PAGE_NOACCESS (this is to make sure that a software PTE of a committed page is never completely 0, which it could be, when MM_ZERO_ACCESS was used), and finally MM_OUTSWAPPED_KSTACK for outswapped kernel stacks. See also https://www.reactos.org/wiki/Techwiki:Memory_Protection_constants.
The next thing to know is that the number of PTEs that are not null is counted for each PDE. So once a page gets committed, a software PTE is written and the reference count is incremented. When the page is made valid by the fault handler, the count is not changed, when the page is decommitted, the MM_DECOMMIT software PTE is written and again the PTE stays non-null and nothing is changed. Only when the range is cleaned up totally, the PTEs get erased and the reference count is decremented. Now it happened that our page fault handler missed to validate the access rights of protection constants. The problem that came up with this is a major one: since a decommitted page is a software PTE with MM_DECOMMIT as the protection mask (which we remember has the MM_GUARDPAGE bit set), the fault handler considered faults on decommitted PTEs as faults on guard pages and simply removed the guard page flag, leaving a completely empty PTE behind! So the decommitted page got erased without decrementing the reference count. This lead to CORE-7445.
- Add protection flags (MM_GUARDPAGE, MM_WRITECOMBINE, MM_OUTSWAPPED_KSTACK)
- Instead of writing 0 to a PTE, use MI_WRITE_INVALID_PTE with MmZeroPte
- Implement MiIsAccessAllowed that checks for read/write/execute access and use it in MiAccessCheck
- Add some more ASSERTs
CORE-7445 #resolve
svn path=/trunk/; revision=61095
Giannis Adamopoulos [Sun, 24 Nov 2013 21:42:28 +0000 (21:42 +0000)]
[shell32]
- define STR_FILE_SYS_BIND_DATA in the public headers and use it in IFileSystemBindDataImpl and CFSFolder. Now we use the same string to store the IFileSystemBindDataImpl in the bind context.
- Fix CFSFolder::ParseDisplayName to properly parse paths with a IBindCtx
- Should fix creating pidls that represent files that don't exist and fix SHChangeNotify tests that hanged for a whole minute in our test suite
svn path=/trunk/; revision=61094
Thomas Faber [Sun, 24 Nov 2013 20:04:45 +0000 (20:04 +0000)]
[RTL]
- Allow parsing manifest files larger than 32 kB. Fix a DPRINT. Patch by David Quintana.
CORE-7642 #resolve
svn path=/trunk/; revision=61093
Eric Kohl [Sun, 24 Nov 2013 17:24:44 +0000 (17:24 +0000)]
[MSGINA]
- Add a disabled "Change Password" button to the Security dialog.
- Add the "Change Password" dialog and a basic dialog function.
svn path=/trunk/; revision=61092
Thomas Faber [Sun, 24 Nov 2013 16:22:17 +0000 (16:22 +0000)]
[NPFS]
- Fix a use after free in NpFsdCreate
svn path=/trunk/; revision=61091
Timo Kreuzer [Sun, 24 Nov 2013 16:18:50 +0000 (16:18 +0000)]
[NTOSKRNL]
Remove deprecated and unused functions MmDisableVirtualMapping and MmRawDeleteVirtualMapping
svn path=/trunk/; revision=61090
Timo Kreuzer [Sun, 24 Nov 2013 15:54:03 +0000 (15:54 +0000)]
[NTOSKRNL]
Try to fix the failed assertions in testbot
svn path=/trunk/; revision=61089
Timo Kreuzer [Sun, 24 Nov 2013 12:51:45 +0000 (12:51 +0000)]
[NTOSKRNL]
Make use of MiQueryPageTableReferences
svn path=/trunk/; revision=61088
Thomas Faber [Sun, 24 Nov 2013 09:26:24 +0000 (09:26 +0000)]
[NTOS:MM]
- Add missing \n to DPRINT in MmGetPhysicalAddress
svn path=/trunk/; revision=61087
Timo Kreuzer [Sat, 23 Nov 2013 22:34:20 +0000 (22:34 +0000)]
[NTOSKRNL]
- Use MI_IS_MAPPED_PTE instead of unportable bit fiddling
- Use MiDecrementPageTableReferences instead of manually messing with MmWorkingSetList, which is not portable
- Make MmGetPhysicalAddress portable
svn path=/trunk/; revision=61086
Eric Kohl [Sat, 23 Nov 2013 22:08:48 +0000 (22:08 +0000)]
[FORMATTING]
Fix indentation. No code changes!
svn path=/trunk/; revision=61085
Eric Kohl [Sat, 23 Nov 2013 18:36:05 +0000 (18:36 +0000)]
[FORMATTING]
Fix indentation. No code changes!
svn path=/trunk/; revision=61084
Timo Kreuzer [Sat, 23 Nov 2013 01:42:33 +0000 (01:42 +0000)]
Revert a change from the previous version. MI_WRITE_VALID_PTE only works on invalid PTEs. Thanks to Thomas for noticing.
svn path=/trunk/; revision=61083
Timo Kreuzer [Sat, 23 Nov 2013 00:43:06 +0000 (00:43 +0000)]
[NTOSKRNL]
- Add hacks to MmMapViewInSessionSpace and MmUnmapViewInSessionSpace to check for legacy (non ARM3) sections (image sections) and (un)map them in system space instead.
- Fix MmCommitSessionMappedView (it wasn't resetting the PointerPte to the start, when processing the PTE range a second time)
- Remove an ASSERT that didn't allow unmapping session space mappings, since that works (see CORE-6729)
- Change a write to a PTE to using MI_WRITE_VALID_PTE
svn path=/trunk/; revision=61081
Hermès Bélusca-Maïto [Fri, 22 Nov 2013 22:59:19 +0000 (22:59 +0000)]
[REGEDIT]
- Fix few French resources.
- Support F2 key for renaming keys/values.
Patch by Edijs Kolesnikovics
CORE-7615 #resolve #comment Committed in revision 61080. Thanks!
svn path=/trunk/; revision=61080
James Tabor [Fri, 22 Nov 2013 18:45:58 +0000 (18:45 +0000)]
- Move ATI from stub file. Applications like Magnifier uses it but it seems to return an error.
svn path=/trunk/; revision=61079
James Tabor [Fri, 22 Nov 2013 17:07:02 +0000 (17:07 +0000)]
- Fix condition when window is null while in event. See CORE-7635.
svn path=/trunk/; revision=61078
Timo Kreuzer [Fri, 22 Nov 2013 15:23:18 +0000 (15:23 +0000)]
[NTOSKRNL]
Fix / improve NtQueryDefaultLocale, NtSetDefaultLocale, NtQueryDefaultUILanguage and NtSetDefaultUILanguage
svn path=/trunk/; revision=61077
Timo Kreuzer [Fri, 22 Nov 2013 12:51:40 +0000 (12:51 +0000)]
[NTOSKRNL]
Skip all images that were loaded using MmLoadSystemImage in MiFindInitializationCode. Drivers loaded by Mm are handled in MmFreeDriverInitialization (which we currently run for boot loaded images as well, so duplicated work...). But now at least session loaded images are NOT processed this way. Because even though they can have INIT sections, they don't neccessarily like it when stuff gets removed, especially win32k doesn't like it when it's .rsrc section is being discarded due to it's section flags!
svn path=/trunk/; revision=61076
Timo Kreuzer [Fri, 22 Nov 2013 12:23:11 +0000 (12:23 +0000)]
[NTOSKRNL]
Check the PTE as well in MmArmAccessFault, when we are at high IRQL and fail if it's not valid. Otherwise we just end up in an endless loop.
svn path=/trunk/; revision=61075
Timo Kreuzer [Fri, 22 Nov 2013 12:14:47 +0000 (12:14 +0000)]
[NTOSKRNL]
Fix MmGetSessionLocaleId and implement MmSetSessionLocaleId
svn path=/trunk/; revision=61074
Timo Kreuzer [Fri, 22 Nov 2013 12:10:20 +0000 (12:10 +0000)]
[NTOSKRNL]
Fix an off-by-one error in an ASSERT in MiDecrementReferenceCount (MmHighestPhysicalPage itself is still a valid PFN)
svn path=/trunk/; revision=61073
Timo Kreuzer [Fri, 22 Nov 2013 11:48:51 +0000 (11:48 +0000)]
[NTOSKRNL/WIN32K]
Always call the win32 process callout from PsConvertToGuiThread and handle the case where we alrady have an allocated win32 process there. (The original win32k sometimes allocates a win32 process, but doesn't initialize it, so it needs to be called again to do so)
svn path=/trunk/; revision=61072
Timo Kreuzer [Fri, 22 Nov 2013 11:36:22 +0000 (11:36 +0000)]
[VIDEOPRT]
Handle IOCTL_VIDEO_USE_DEVICE_IN_SESSION
svn path=/trunk/; revision=61071
Dmitry Gorbachev [Thu, 21 Nov 2013 20:44:49 +0000 (20:44 +0000)]
[NTOSKRNL]
Trick GCC into not optimizing out RtlMoveMemory.
svn path=/trunk/; revision=61066
Giannis Adamopoulos [Thu, 21 Nov 2013 11:34:56 +0000 (11:34 +0000)]
forgot to commit this
svn path=/trunk/; revision=61065
Giannis Adamopoulos [Thu, 21 Nov 2013 11:28:53 +0000 (11:28 +0000)]
[explorer_new]
- call ShellDDEInit, FileIconInit and WinList_Init while initializing
- Calling ShellDDEInit fixes cases like pressing Explore in a folder context menu from a file open dialog (before this it just hanged)
- We also need to call FileIconInit in order to initialize the shell icons properly. Before this Shell_GetImageLists called FileIconInit in case it was not called
- Calling WinList_Init should make CLSID_ShellWindows work but it fails for now. CLSID_ShellWindows is needed in cases like opening a second time My computer from desktop should activates the existing My computer window and it is also needed for SHOpenFolderAndSelectItems in order to work
svn path=/trunk/; revision=61064
Timo Kreuzer [Wed, 20 Nov 2013 23:50:42 +0000 (23:50 +0000)]
{NTOSKRNL]
Properly implement MmGetSessionById, MmAttachSession, MmDetachSession and MmQuitNextSession. Implement more session cleanup code and make sure a session is not killed while a process is attached to it. There used to be a bug, where removing a process from the session list caused pool corruption, which was because we called MiSessionRemoveProcess twice: once from PspExitThread, when the last thread exited and another time from PspDeleteProcess, when the reaper thread deleted the process object. This was, because the flag that said the process was in a session was not cleared properly. This is now fixed and inserting and removing processes into the session's list works fine. Also protect it properly with a spinlock.
svn path=/trunk/; revision=61061
Timo Kreuzer [Wed, 20 Nov 2013 21:57:51 +0000 (21:57 +0000)]
[I8042PRT]
Hackplement support for IOCTL_KEYBOARD_QUERY_ATTRIBUTES
svn path=/trunk/; revision=61060
Timo Kreuzer [Wed, 20 Nov 2013 21:52:50 +0000 (21:52 +0000)]
[NTOSKRNL]
Implement ObDeleteCapturedInsertInfo
svn path=/trunk/; revision=61059
Timo Kreuzer [Tue, 19 Nov 2013 23:36:57 +0000 (23:36 +0000)]
[DXG]
Fix DxDdSuspendDirectDraw prototype.
svn path=/trunk/; revision=61054
Timo Kreuzer [Tue, 19 Nov 2013 23:30:58 +0000 (23:30 +0000)]
[KEYBOARDLEYOUTS]
Keyboard layout files have special requirements to the section layout of the dell. That is because MS win32k devs didn't write proper code and that is why the original win32k first parses all sections, looks for the .data section, checks if everything is valid and then truncates a pointer in a table to 16 bit and uses this as an offset into the section. Of course that does ONLY work, if the section is the first section AND that pointer happens to be less than 64k off from the start of the section AND the image base is 64k aligned. To achieve this, add a new module type kbdlayout that does all the neccessary things. On MSVC we merge the sections with a linker command, on GCC we use a custom linker script.
svn path=/trunk/; revision=61053
Timo Kreuzer [Tue, 19 Nov 2013 23:09:13 +0000 (23:09 +0000)]
[NTOSKRNK]
Implement ExpWin32SessionCallout, which attaches to the session that the object (desktop or window station) belongs to before invoking any callbacks. The session side of support for this is currently hardcoded to support only a single session. To make this properly work, all callbacks that go through this function have the same function pointer type now, fix this in win32k accordingly.
svn path=/trunk/; revision=61052
Hermès Bélusca-Maïto [Tue, 19 Nov 2013 21:20:13 +0000 (21:20 +0000)]
[REGEDIT]
Disable Delete/Rename menu options for root nodes ("My Computer" and HKEY_* keys).
Patch by Edijs Kolesnikovics.
CORE-7602 #resolve #comment Committed in revision 61051, thanks :)
svn path=/trunk/; revision=61051
Timo Kreuzer [Tue, 19 Nov 2013 21:13:31 +0000 (21:13 +0000)]
[NTOSKRNL]
Move session routines into session.c. No code change.
svn path=/trunk/; revision=61050