Also cleanup ongoing notifications during cleanup.
This fixes kernel32:change winetests crash.
This gets us from 300 tests executed, 134 failed to 312 executed, 33 failed.
CORE-2582
svn path=/trunk/; revision=62485
Fix a bug in MmGetPhysicalAddress, that resulted in unwanted sign extension of physical addresses > 2GB. Will hopefully fix some uniata related issues.
svn path=/trunk/; revision=62482
Display warning messages if a user tries to log on using a non-existing account name, a wrong password or if the account was disabled.
svn path=/trunk/; revision=62468
- Add AllocaFrame field to the exception registration record. It is required for Clang and C++ handlers.
- Fix the way how "nested functions" are emulated on Clang and C++, respecting the fact that the compiler can and will use a temporary esp-based stack frame below any alloca-allocations for function invocation. This uses the AllocaFrame field to calculate and setup a new temp stack frame for the "nested functions".
- Make use of the HandlerType field in the exception registration record to use different methods for invoking filters / finally functions.
- Write @_SEH3$_CallRtlUnwind@4 in raw asm instead of inline, because Clang cannot deal with stdcall decorations in inline asm (see http://llvm.org/bugs/show_bug.cgi?id=19027)
- Make sure ExceptionPointers are properly initialized in _SEH3$_except_handler
svn path=/trunk/; revision=62466
- Split DoLoginTasks into DoLoginTasks and CreateProfile, and fix all callers of DoLoginTasks accordingly.
- Make DoLoginTasks pass the SubStatus from MyLogonUser to its caller.
- Move the logon code from LoggedOutWindowProc to a new function DoLogon and add some experimental code to report logon errors to the user (still WIP).
svn path=/trunk/; revision=62464
Make kernel32 / winsrv console CSR structures Win2k3-compliant.
The aim is to be able to put our kernel32.dll or winsrv.dll on win2k3, and vice-versa.
Most of the changes consist in:
- adding a HANDLE ConsoleHandle; to the structures, representing the console handle of the current application;
- reorganizing the order of the members in the different structures;
- few structures need to hold a event handle because it appears that some APIs create a event handle to perform some sort of synchronization with the console server (this is totally unused at the moment).
- Since CsrClientCallServer returns the value of ApiMessage.Status, then just use ApiMessage.Status instead of declaring another Status variable for querying the return value of CsrClientCallServer.
Part 1/X
Aside:
The VerifyConsoleIoHandle winetest problem is solved here (see CORE-7941 for more details).
CORE-7941 #resolved #comment Fixed in revision 62460, thanks :)
CORE-7931
svn path=/trunk/; revision=62460
Enforce the use of a frame pointer in all functions that use PSEH, even when -fomit-frame-pointer option was specified. This way we don't need to explicitly tell PSEH with a global define, whether we have a frame pointer or not, which would also probably not have worked together with alloca().
svn path=/trunk/; revision=62458
Add really limited support for file system notifications.
In case of file creation, we report this.
More cases are missing, such as: dir creation, attributes change, size change, last write change.
See: http://msdn.microsoft.com/en-us/library/windows/desktop/aa364417%28v=vs.85%29.aspx as a reference
CORE-2582
svn path=/trunk/; revision=62445
- Implement VfatNotifyChangeDirectory which handles file system notifications registration
- Also add support to dispatch routine for not queuing IRPs when pending and not required
CORE-2582
svn path=/trunk/; revision=62444
Add required fields to handle file system notifications to device extension/VCB and properly initialize them on volume mount
svn path=/trunk/; revision=62443
- Implement FsRtlNotifyFilterReportChange
- Implement FsRtlNotifyUpdateBuffer
- Implement FsRtlCancelNotify
- Implement FsRtlNotifyGetLastPartOffset
- Fix implementation of FsRtlNotifyFilterChangeDirectory
This finishes the implementation of file system notifications inside the kernel.
Data are properly returned to the caller on changes.
CORE-2582
svn path=/trunk/; revision=62442