2. implemented more win2k-like gdi handle table (handle entry lookup is not yet optimized/cached!)
3. moved cursoricon.c from objects to ntuser as it's part of the user api and not of the gdi
4. get rid of the eng handle table
5. minor fixes
svn path=/trunk/; revision=12035
2) Updated the HalDispatchTable to Version 3.0. Not a huge change, just added/updated some functions.
3) Rewrote most of the DPC Code to take advantage of the CPU/Importance "laws". Stress testing on my machine revealed no issues on CVS HEAD. Still needs some review to make it so that idle threads can call dpcs (so that low importance dpcs will be dispatched by the idle thread). I will modify this later.
svn path=/trunk/; revision=11731
2. implemented window station/desktop inheritance on thread/process startup
3. implemented process locking
4. fixed some fields in the EPROCESS structure
svn path=/trunk/; revision=11712
- Fixed NT_TIB structure to be compatible with w32api
- Fixed fiber support in kernel32.dll. Now the correct argument is passed to fiber startup routines
svn path=/trunk/; revision=8573
I double checked, but in case someone's recent commit is somehow overwritten -- please, don't be very frustrated :) -- I will fix it, just drop me a note.
svn path=/trunk/; revision=7337
* Recognize the option /CRASHDUMP on the kernel command line to specify
the type of dump desired.
* Added a new driver (diskdump) which wraps the miniport for the disk
containing the pagefile and does the crash dump i/o.
* Added a FSCTL to get the mapping between LCNs and disk offsets so
crash dumps don't need to go through the filesystem.
svn path=/trunk/; revision=5887
This shouldn't directly affect anything for normal (non-W32API) builds. A more detailed change log will be sent to the ros-kernel mailing list shortly.
svn path=/trunk/; revision=5461
Files that should now compile with Win 32 API headers:
* sysinfo.c
* time.c
* work.c
* zone.c
If you suddenly discover that something no longer works due to a missing struct member, it's probably because I've renamed it to match the Win 32 API headers.
svn path=/trunk/; revision=5151
Some of NTOSKRNL now compiles with __USE_W32API enabled. Note that this commit is purely so I know what to do, and also to allow other people to continue working on this if they wish to do so. I will continue hacking away at it.
It's not complete yet, but I've ensured that the changes I have made aren't incompatible with ReactOS as it stands at the moment. It compiles without __USE_W32API fine.
* Modified the tools/depend.mk file to force the use of forward slash (SEH variable?) otherwise it tries to run "toolsdepend.exe" without a slash.
* Moved a couple of routines from include/ddk/halfuncs.h to hal/halx86/include/hal.h
* Fixed conflicting types in ntoskrnl/ex/interlck.c
* Replaced .a with .u, #undef'd "lite" functions and defined NONAMELESSUNION in ntoskrnl/ex/resource.c so that it compiles with Win 32 API
* Added some more conditional defines to include/shared_data.h, ntoskrnl/include/internal/mm.h (and i386/mm.h), ntoskrnl/include/internal/ps.h
* Replaced .a with .u for OWNER_ENTRY and ERESOURCE in include/ddk/extypes.h (so they are compatible with Win 32 API headers)
* Various other small adjustments
Hope this works!
svn path=/trunk/; revision=5130
- include/funcs.h: declared GetScrollBarInfo
- include/napi/teb.h: removed misleading comment about NtCurrentTeb; preparing TEB for Windows 2003-compatible FLS support
- include/tchar.h: added _tcslen
- include/tgetopt.h: type-generic getopt (see lib/tgetopt)
- include/win32k/ntuser.h, subsys/win32k/ntuser/window.c, subsys/win32k/ntuser/timer.c, lib/user32/misc/timer.c, lib/user32/windows/paint.c: corrected declarations of NtUserSetTimer, NtUserKillTimer and NtUserRedrawWindow (Win32K doesn't follow the NT calling convention)
- lib/crtdll/crtdll.def: exported ::operator new and ::operator delete
- lib/kernel32/thread/fls.c: FLS support almost done
- lib/ntdll/*: implemented _chkstk/_alloca_probe - some more Visual C++ programs should run now; exported NtCurrentTeb for compatibility with Windows NT 3.51 and some non-i386 architectures; removed the CRT from the linker libraries
- lib/string/*: type-generic string functions (single, shared implementation for single-byte and Unicode variants using _t macros); corrected a bug in the i386 wcsncmp; merged strspn/strcspn; corrected non-portable code in strspn/strcspn; implemented strnlen/tcsnlen for the i386 architecture; all changes were regression-tested and compared against the Microsoft CRT
- tools/helper.mk: libraries, dlls and drivers now depend from their DEF/EDF files
svn path=/trunk/; revision=5010
- Kernel32: GetCurrentFiber and GetFiberData are macros, not functions
- Kernel32: ExitThread now is declared as __declspec(noreturn)
- RosRtl: two new functions to allocate and free stacks
- RosRtl: corrected a couple of prototypes
svn path=/trunk/; revision=4794