reactos.git
8 years ago[FASTFAT]
Eric Kohl [Fri, 29 Nov 2013 11:05:04 +0000 (11:05 +0000)]
[FASTFAT]
Removed accidential code change!

svn path=/trunk/; revision=61144

8 years ago[FORMATTING]
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

8 years ago[Win32k]
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

8 years ago[FDC]
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

8 years ago[NTOSKRNL]
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

8 years ago[INCLUDE]
Amine Khaldi [Thu, 28 Nov 2013 22:30:59 +0000 (22:30 +0000)]
[INCLUDE]
* Improve version.rc.
CORE-7637

svn path=/trunk/; revision=61138

8 years ago[HAL/*]
Amine Khaldi [Thu, 28 Nov 2013 22:27:43 +0000 (22:27 +0000)]
[HAL/*]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61137

8 years ago[GLU32]
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

8 years ago[NTDLL]
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

8 years ago[WIN32SS/*]
Amine Khaldi [Thu, 28 Nov 2013 22:24:33 +0000 (22:24 +0000)]
[WIN32SS/*]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61134

8 years ago[BASESRV][CSRSRV][CSRSS][NTVDM]
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

8 years ago[DRIVERS]
Amine Khaldi [Thu, 28 Nov 2013 22:19:35 +0000 (22:19 +0000)]
[DRIVERS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61132

8 years ago[WIN32DLLS]
Amine Khaldi [Thu, 28 Nov 2013 22:18:05 +0000 (22:18 +0000)]
[WIN32DLLS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61131

8 years ago[SHELLEXTS]
Amine Khaldi [Thu, 28 Nov 2013 22:15:21 +0000 (22:15 +0000)]
[SHELLEXTS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61130

8 years ago[KEYBOARDS]
Amine Khaldi [Thu, 28 Nov 2013 22:14:03 +0000 (22:14 +0000)]
[KEYBOARDS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61129

8 years ago[CPLS]
Amine Khaldi [Thu, 28 Nov 2013 22:12:52 +0000 (22:12 +0000)]
[CPLS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61128

8 years ago[FDEBUG]
Amine Khaldi [Thu, 28 Nov 2013 22:11:26 +0000 (22:11 +0000)]
[FDEBUG]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61127

8 years ago[BASE/SYSTEM]
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

8 years ago[BASE/SHELL]
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

8 years ago[BASE/SETUP]
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

8 years ago[SERVICES]
Amine Khaldi [Thu, 28 Nov 2013 22:04:59 +0000 (22:04 +0000)]
[SERVICES]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61123

8 years ago[APPLICATIONS]
Amine Khaldi [Thu, 28 Nov 2013 22:04:03 +0000 (22:04 +0000)]
[APPLICATIONS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61122

8 years ago[SCREENSAVERS]
Amine Khaldi [Thu, 28 Nov 2013 22:00:38 +0000 (22:00 +0000)]
[SCREENSAVERS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61121

8 years ago[APPS/NETWORK]
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

8 years ago[MSCUTILS]
Amine Khaldi [Thu, 28 Nov 2013 21:57:21 +0000 (21:57 +0000)]
[MSCUTILS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61119

8 years ago[GAMES]
Amine Khaldi [Thu, 28 Nov 2013 21:56:11 +0000 (21:56 +0000)]
[GAMES]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61118

8 years ago[CMDUTILS]
Amine Khaldi [Thu, 28 Nov 2013 21:52:17 +0000 (21:52 +0000)]
[CMDUTILS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61117

8 years ago[FDC]
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

8 years ago[FDC]
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

8 years ago[FDC]
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

8 years ago[SERIAL]
Thomas Faber [Thu, 28 Nov 2013 14:32:04 +0000 (14:32 +0000)]
[SERIAL]
- Fix a race condition

svn path=/trunk/; revision=61113

8 years ago[SHELL32]
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

8 years ago[NTOSKRNL]
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

8 years ago[NTOSKRNL]
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

8 years ago[NTOSKRNL]
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

8 years ago[NTOSKRNL]
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

8 years ago[NETAPI32]
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

8 years ago[NTOSKRNL]
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

8 years ago[KERNEL32]
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

8 years ago[POWRPROF]
Thomas Faber [Tue, 26 Nov 2013 15:00:06 +0000 (15:00 +0000)]
[POWRPROF]
- Fix a warning

svn path=/trunk/; revision=61100

8 years ago[KMTESTS:RTL]
Thomas Faber [Tue, 26 Nov 2013 14:26:31 +0000 (14:26 +0000)]
[KMTESTS:RTL]
- Fix a warning

svn path=/trunk/; revision=61099

8 years ago[NTOS]
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

8 years ago[NETAPI32]
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

8 years ago[CMAKE]
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

8 years ago[NTOSKRNL]
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

8 years ago[shell32]
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

8 years ago[RTL]
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

8 years ago[MSGINA]
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

8 years ago[NPFS]
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

8 years ago[NTOSKRNL]
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

8 years ago[NTOSKRNL]
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

8 years ago[NTOSKRNL]
Timo Kreuzer [Sun, 24 Nov 2013 12:51:45 +0000 (12:51 +0000)]
[NTOSKRNL]
Make use of MiQueryPageTableReferences

svn path=/trunk/; revision=61088

8 years ago[NTOS:MM]
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

8 years ago[NTOSKRNL]
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

8 years ago[FORMATTING]
Eric Kohl [Sat, 23 Nov 2013 22:08:48 +0000 (22:08 +0000)]
[FORMATTING]
Fix indentation. No code changes!

svn path=/trunk/; revision=61085

8 years ago[FORMATTING]
Eric Kohl [Sat, 23 Nov 2013 18:36:05 +0000 (18:36 +0000)]
[FORMATTING]
Fix indentation. No code changes!

svn path=/trunk/; revision=61084

8 years agoRevert a change from the previous version. MI_WRITE_VALID_PTE only works on invalid...
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

8 years ago[NTOSKRNL]
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

8 years ago[REGEDIT]
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

8 years ago- Move ATI from stub file. Applications like Magnifier uses it but it seems to return...
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

8 years ago- Fix condition when window is null while in event. See CORE-7635.
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

8 years ago[NTOSKRNL]
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

8 years ago[NTOSKRNL]
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

8 years ago[NTOSKRNL]
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

8 years ago[NTOSKRNL]
Timo Kreuzer [Fri, 22 Nov 2013 12:14:47 +0000 (12:14 +0000)]
[NTOSKRNL]
Fix MmGetSessionLocaleId and implement MmSetSessionLocaleId

svn path=/trunk/; revision=61074

8 years ago[NTOSKRNL]
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

8 years ago[NTOSKRNL/WIN32K]
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

8 years ago[VIDEOPRT]
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

8 years ago[NTOSKRNL]
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

8 years agoforgot to commit this
Giannis Adamopoulos [Thu, 21 Nov 2013 11:34:56 +0000 (11:34 +0000)]
forgot to commit this

svn path=/trunk/; revision=61065

8 years ago[explorer_new]
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

8 years ago{NTOSKRNL]
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

8 years ago[I8042PRT]
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

8 years ago[NTOSKRNL]
Timo Kreuzer [Wed, 20 Nov 2013 21:52:50 +0000 (21:52 +0000)]
[NTOSKRNL]
Implement ObDeleteCapturedInsertInfo

svn path=/trunk/; revision=61059

8 years ago[DXG]
Timo Kreuzer [Tue, 19 Nov 2013 23:36:57 +0000 (23:36 +0000)]
[DXG]
Fix DxDdSuspendDirectDraw prototype.

svn path=/trunk/; revision=61054

8 years ago[KEYBOARDLEYOUTS]
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

8 years ago[NTOSKRNK]
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

8 years ago[REGEDIT]
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

8 years ago[NTOSKRNL]
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

8 years ago[shell32]
Giannis Adamopoulos [Tue, 19 Nov 2013 20:53:16 +0000 (20:53 +0000)]
[shell32]
- Implement cut and paste shortcut
- Patch by Huw Campbell
- CORE-7548

svn path=/trunk/; revision=61049

8 years ago[shell32]
Giannis Adamopoulos [Tue, 19 Nov 2013 19:05:17 +0000 (19:05 +0000)]
[shell32]
- Append class members with m_ in CDefView class

svn path=/trunk/; revision=61048

8 years ago[NOTEPAD]
Thomas Faber [Tue, 19 Nov 2013 10:18:02 +0000 (10:18 +0000)]
[NOTEPAD]
- Preserve modification flag when toggling the "Word Wrap" option. Patch by Edijs Kolesnikovičs.
CORE-7589 #resolve

svn path=/trunk/; revision=61047

8 years ago[EVENTLOG]
Eric Kohl [Mon, 18 Nov 2013 22:16:16 +0000 (22:16 +0000)]
[EVENTLOG]
ElfrClearELFW: Fail, if the log file is a backup file.

svn path=/trunk/; revision=61046

8 years ago[NTOSKRNL]
Dmitry Gorbachev [Mon, 18 Nov 2013 22:00:12 +0000 (22:00 +0000)]
[NTOSKRNL]
Do not call RtlCopyMemory (i.e. memcpy/memmove) with NULL pointer, which
gives undefined behavior.

svn path=/trunk/; revision=61045

8 years ago[RAPPS]
Thomas Faber [Mon, 18 Nov 2013 20:24:18 +0000 (20:24 +0000)]
[RAPPS]
- Fix info display on selection change. Patch by Carlo Bramini.
CORE-6139 #resolve

svn path=/trunk/; revision=61043

8 years ago[D3DCOMPILER_43]
Thomas Faber [Mon, 18 Nov 2013 19:02:56 +0000 (19:02 +0000)]
[D3DCOMPILER_43]
- Fix MSVC warnings (yes I know these are generated files. It's a flex bug)

svn path=/trunk/; revision=61042

8 years ago[NTOSKRNL]
Timo Kreuzer [Mon, 18 Nov 2013 17:47:37 +0000 (17:47 +0000)]
[NTOSKRNL]
Implement PoQueueShutdownWorkItem, PoRequestShutdownEvent, PoRequestShutdownWait, PopProcessShutDownLists. One step closer to ... proper shutdown.

svn path=/trunk/; revision=61041

8 years ago[NTOSKRNK]
Timo Kreuzer [Mon, 18 Nov 2013 17:23:04 +0000 (17:23 +0000)]
[NTOSKRNK]
Implement KiCallbackReturnHandler

svn path=/trunk/; revision=61040

8 years ago[NTOSKRNL]
Timo Kreuzer [Mon, 18 Nov 2013 15:21:53 +0000 (15:21 +0000)]
[NTOSKRNL]
Implement RtlpCloseHandleCallback, closing the handle table, and use it as callback for ExSweepHandleTable in RtlpDestroyAtomHandleTable. Without a callback ExSweepHandleTable simply crashes, so obviously we never clean up any atom tables, possibly because the window station is never closed.

svn path=/trunk/; revision=61039

8 years ago[BOOTDATA]
Timo Kreuzer [Mon, 18 Nov 2013 14:43:28 +0000 (14:43 +0000)]
[BOOTDATA]
Add registry key for winsrv configuration and a a few additional entrys for the VBE driver configuration.

svn path=/trunk/; revision=61038

8 years ago[NTOSKRNL]
Timo Kreuzer [Mon, 18 Nov 2013 14:27:01 +0000 (14:27 +0000)]
[NTOSKRNL]
Implement ObSetHandleAttributes. Rename the ObIsKernelHandle macro to ObpIsKernelHandle to avoid ambiguities (ObIsKernelHandle is a public Vista+ API). Check for NtCurrentProcess and NtCurrentThread in ObpIsKernelHandle, since those are always non-kernel handles.

svn path=/trunk/; revision=61037

8 years ago[D3DX9_36]
Thomas Faber [Mon, 18 Nov 2013 10:46:20 +0000 (10:46 +0000)]
[D3DX9_36]
- Add missing dependency on d3d_idl_headers
- Add missing port.h include (fix MSVC warnings). CORE-7538

svn path=/trunk/; revision=61035

8 years ago[GDI32]
Timo Kreuzer [Mon, 18 Nov 2013 00:35:32 +0000 (00:35 +0000)]
[GDI32]
Fix MSVC warnings

svn path=/trunk/; revision=61032

8 years ago[WINE]
Thomas Faber [Mon, 18 Nov 2013 00:22:53 +0000 (00:22 +0000)]
[WINE]
- We have <unistd.h> and <sys/time.h>, that doesn't depend on _MSC_VER.

svn path=/trunk/; revision=61031

8 years ago[CMAKE]
Thomas Faber [Mon, 18 Nov 2013 00:04:15 +0000 (00:04 +0000)]
[CMAKE]
- Enable C4115 (struct defined in function parameter list) and fix its occurrences

svn path=/trunk/; revision=61030

8 years ago[CMAKE]
Thomas Faber [Sun, 17 Nov 2013 23:38:31 +0000 (23:38 +0000)]
[CMAKE]
- Make C4113 (function pointer parameter lists differ) an error. CORE-7538
- Properly ignore "export of deleting destructor" warning in msvcrt

svn path=/trunk/; revision=61029

8 years ago[SPEC2DEF]
Timo Kreuzer [Sun, 17 Nov 2013 22:43:23 +0000 (22:43 +0000)]
[SPEC2DEF]
Remove a spurious %

svn path=/trunk/; revision=61028

8 years ago[SPEC2DEF]
Timo Kreuzer [Sun, 17 Nov 2013 22:31:15 +0000 (22:31 +0000)]
[SPEC2DEF]
Fix MSVC build as well

svn path=/trunk/; revision=61027

8 years ago[EVENTLOG]
Eric Kohl [Sun, 17 Nov 2013 22:30:55 +0000 (22:30 +0000)]
[EVENTLOG]
LogfInitializeExisting: Do not try to write to a file that has been opened as a backup file. It has been opened read-only.

svn path=/trunk/; revision=61026

8 years ago[CMAKE/SPEC2DEF]
Timo Kreuzer [Sun, 17 Nov 2013 22:24:02 +0000 (22:24 +0000)]
[CMAKE/SPEC2DEF]
Fix build.

svn path=/trunk/; revision=61025