Implement IoCancelFileOpen().
You can read: http://www.osronline.com/showThread.cfm?link=20807
Even though the proposed implementation is closer to W2K implementation than to W2K3 implementation
In W2K3, no IRP is issued with major close.
svn path=/trunk/; revision=58244
Implement IopAllocateIrpMustSucceed() which is designed to *normally* always return an IRP.
Even in low memory situations (if you wait enough).
svn path=/trunk/; revision=58243
Revert my change of loading the win32k kernel-mode subsystem driver by reading the Kmode value and use instead a hardcoded value, per request of Alex.
I'm wondering why Windows wouldn't allow you to use a personalized value there and forces you to use win32k with this name, placed in \SystemRoot\System32 directory and not in an other place.
svn path=/trunk/; revision=58241
- Uniformize the error messages and also, SmpParseCommand is SmpParseCommandLine in fact.
- Remove an unneeded cast since Flags is already ULONG.
svn path=/trunk/; revision=58238
Modify driver acquiring/releasing privilege according to r58233. The corresponding modification in services.c will be done at the next synchronization.
svn path=/branches/ros-csrss/; revision=58234
Fix acquiring/releasing driver-loading and unloading privilege (see r57754) by using the RtlAdjustPrivilege API instead of using the standard user-mode Win32 API (thus get rid of calling LSA when calling LookupPrivilegeValueW).
svn path=/trunk/; revision=58233
- Zero-out some allocated memory.
- During my investigations preceding the implementation of AttachConsole (r58166), I wanted (in a first attempt; finally I've found a better way to achieve what I wanted to do) to retrieve the CSR_PROCESS structure of the parent of a given process. I've found the 'Parent' member in the CSR_PROCESS structure, however this member was always initialized to NULL when new processes were created via CsrCreateProcess (and via the call to CsrInsertProcess). After looking at some informating here (http://svn.reactos.org/svn/reactos/trunk/reactos/include/subsys/csr/server.h?r1=17363&r2=17362&pathrev=17363) and there (http://forum.sysinternals.com/csrwalker-processes-detection-from-user-mode_topic15457.html), I became convinced that the 'Parent' member was unexistent starting from Windows Server 2003. Also, after much more investigation, I've found that the CsrInsertProcess function was called with only two parameters starting from Windows Server 2003 (and still continues in Windows 7), the always-NULL paramater being removed.
Therefore, I remove that unneeded parameter from CsrInsertProcess and the corresponding 'Parent' member from CSR_PROCESS.
svn path=/branches/ros-csrss/; revision=58232
Clean-up IntReadConsoleOutputCode a little bit.
[CONSRV]
Fix a buffer overflow in SrvReadConsoleOutputString, which was translated sometimes into heap corruption and assert, triggered when freeing a remote captured buffer in csrsrv, when executing kernel32_winetest console, just during a call to ReadConsoleOutputCharacterA.
Nevertheless I still keep the culprit code (commented-out now) because it might be useful in the future.
svn path=/branches/ros-csrss/; revision=58229
- Actually put in the C++ headers what our CRT implements, instead of some random mix of libstdc++ and who knows what. This means the header contents are somewhat outdated and non-standard, but that's preferable to unusable
- Fix a forward declaration in math.h
svn path=/trunk/; revision=58228
Fix a fixme in IopParseDevice() by calling SeOpenObjectAuditAlarm().
Won't change anything right now since it calls a stub.
svn path=/trunk/; revision=58226
- Use set_cpp instead of hand-coding all the parameters
- Use comutil.h and link with comsupp unconditionally, since we now have them
- Use STLPort-compatible filebuf constructor for TCHAR iostreams
- Fix a few MSVC and GCC 4.7 errors/warnings
svn path=/trunk/; revision=58224
- Import C++ compiler support headers from mingw-w64 (with some fixes)
- Implement the required parts of the comsupp library
svn path=/trunk/; revision=58223
- Do not allow multiple "Taskbar and Start Menu Properties" windows. Based on patch by Edijs Kolesnikovičs & Grégori Macário Harbs.
CORE-6885 #resolve
svn path=/trunk/; revision=58217
- Add missing domain information types to ntsam.h and fix conflicts in ntsecapi.h and sam.idl.
- Add SamChangePasswordUser, SamChangePasswordUser2 and SamChangePasswordUser3 stubs.
svn path=/trunk/; revision=58216
* This significantly shrinks the dependency tracking data and the compiled objects size, which speeds up the whole build process (especially the incremental builds) accelerating the daily development as a result.
* No intended code changes, ~27% smaller build. Enjoy ;)
svn path=/trunk/; revision=58214
Rename functions to their new scheme: ConSrv* instead of Win32Csr* or Conio* (with some exceptions for the latter case).
No code changes.
svn path=/branches/ros-csrss/; revision=58213
- Start to implement waiting threads notifications. They can be notified by:
* the required action (screen displaying lock/unlock, presence of new characters in the input buffer),
* the fact that the application terminates,
* we close a (input) handle.
TODO: When we notify them by calling CsrNotifyWait, they are not dereferenced automatically, but they can be
by calling a dedicated CSR function. We need to know where it is the best to dereference them.
- Correct a bug introduced in revision r58191, which broke console input mode changes (in SrvSetConsoleMode and SrvGetConsoleMode).
svn path=/branches/ros-csrss/; revision=58211
- Do not allow multiple run dialogs. Based on patch by Edijs Kolesnikovičs & Grégori Macário Harbs.
CORE-6871 #resolve
svn path=/trunk/; revision=58208
- Start to uniformize some helpers' names :
ConioLockConsole --> ConioGetConsole and ConioUnlockConsole --> ConioReleaseConsole
ConioLockInputBuffer --> ConioGetInputBuffer and ConioUnlockInputBuffer --> ConioReleaseInputBuffer
ConioLockScreenBuffer --> ConioGetScreenBuffer and ConioUnlockScreenBuffer --> ConioReleaseScreenBuffer
but the overall naming must be revamped.
- Add them a boolean parameter to determine whether or not we should lock the console. It is useful to not lock an already locked console when input / output waiting threads are called,
because these are called from functions which lock the console.
- In the GUI console window message loop, after retrieving a pointer to the corresponding console, lock it before calling funtions in the message dispatcher (and unlock the console at the end).
- Use PostMessage instead of SendMessage for "sending" GUI messages to console windows, to avoid possible deadlocks (because of console locking).
- Add temporary /// LOCK /// comments to easily localize where I deactivated extra console (un)locking code (this remains to be analyzed further).
svn path=/branches/ros-csrss/; revision=58205
- Remove duplicate dllimport attributes CORE-6917 #resolve
- Add annotations for wcslen
- Add kernelspecs.h (complete)
- Add some more entries in driverspecs.h
- Fix a number of annotations
svn path=/trunk/; revision=58204
Add bitmap font for code page 862. Hebrew glyphs are from X11 font
"Schumacher Clean" (see license below), modified by Baruch Rutman
(peterooch*at*gmail*dot*com). CORE-6912.
Copyright 1989 Dale Schumacher, dal@syntel.mn.org
399 Beacon Ave.
St. Paul, MN 55104-3527
Permission to use, copy, modify, and distribute this software and
its documentation for any purpose and without fee is hereby
granted, provided that the above copyright notice appear in all
copies and that both that copyright notice and this permission
notice appear in supporting documentation, and that the name of
Dale Schumacher not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior
permission. Dale Schumacher makes no representations about the
suitability of this software for any purpose. It is provided "as
is" without express or implied warranty.
svn path=/trunk/; revision=58202
- Improve help strings for GCC optimization levels.
- Add new -Ofast and -Og levels.
- Simplify gcc.cmake a bit.
- Use MINGW_TOOLCHAIN_SUFFIX.
svn path=/trunk/; revision=58201
Some keyed event fixes: disable APCs before acquiring the pushlock, close handle on exception, check if a wait was aborted and remove the wait list entry from the list in that case.
svn path=/trunk/; revision=58200