reactos.git
14 years ago- Fix KiDispatchException to unmask KI_EXCEPTION_INTERNAL when setting the exception...
Alex Ionescu [Thu, 1 Mar 2007 19:51:20 +0000 (19:51 +0000)]
- Fix KiDispatchException to unmask KI_EXCEPTION_INTERNAL when setting the exception code, so that usermode/SEH filters get proper exception codes again.
- Fixes and compatible merges from KD Branch:
 - Add stubs for KdSave, KdRestore, KdDebuggerInitialize0, KdSendPacket, KdReceivePacket to kdcom.dll
 - Implement and export KeTryToAcquireSpinLockAtDpcLevel.
 - Add EXCEPTION_RECORD64 and LIST_ENTRY64, KeTryToAcquireSpinLockAtDpcLevel, BREAKPOINT_COMMAND_STRING, Ke386SetCr2, Ke386SetDr3, Ke386SetDr6.
 - Remove non-kernel routines from kdfuncs.h and remove deprecated routines from ke.h.
 - Implement KiRestoreProcessorControlState, KeFreezeExecution, KeThawExecution, ExAcquireTimeRefreshLock, ExReleaseTimeRefreshLock.
 - Rename ModuleLoadList to PsLoadedModuleList. Add PsNtosImageBase and set value in it.
 - Add skeleton wdbgexts.h with what's needed until now, this is a PSDK header.
 - Add kddll.h for KDCOM/1394/USB2.DLL prototypes.
 - Add windbgkd.h with KD protocol definitions. Used to be an NT5 DDK header, but was removed, so this goes into include\reactos.
 - Fix KiDebugService to load EDX from KTRAP_FRAME_EDX, not KTRAP_FRAME_EAX!.
 - Fix CommonDispatchException to check for the argument count in ECX, not EAX. Previously we were ignoring parameter counts and never filling out exception records!
 - Add KdDebuggerInitialize1 and enable call to it.
 - Fix KD_SYMBOLS_INFO definition and DbgLoadImageSymbols prototype.
 - Implement DbgUnLoadImageSymbols.
 - Fix some small bugs in KeBugCheckWithTf and add various debugger calls/checks where needed.
 - Fix bugcheck recursion code which was incorrect.
 - Only save/restore CR4 if KeFeatureBits indicates CR4 support exists.
 - Export KdDebuggerNotPresent since KDCOM needs it.
 - Add KCONTINUE_STATUS.
 - Add DBGKD_ANY_CONTROL_SET and X86/IA64/AMD64 control sets.
 - Add DBGKD_MANIPULATE_STATE64 and all sub-structures (READ_MEMORY, WRITE_MEMORY, etc).
 - Create GCC_ULONG64 type to hack around a bug in GCC which is incapable of creating entries for externals at compile-time for 64-bit pointers.
 - Rename NameSpaceRoot to ObpRootDirectoryObject, IopLogListHead to IopErrorLogListHead, BugcheckCallbackListHead to KeBugcheckCallbackListHead, BugcheckReasonCallbackListHead to KeBugcheckReasonCallbackListHead, ObTypeObjectType to ObpTypeObjectType.
 - Create ntverp.h and common.ver files. These are the standard files used by the NT/DDK build systems and we should try to support them as well instead of re-defining everything our own way (especially if we want to build ddk-compatible drivers later on).
 - Made init.c use version data from ntverp.h instead of hard-coding.
 - Defined NT 5.2.3790.1830 as the version we report.
 - Fixed up .rc file to be correct and match DDK-sytnax/style.
 - For now only the kernel uses this new versionning scheme, but we should change the build system later to use this for every component.
 - Fix KiSaveProcessorControlState and KiRestoreProcessorControlSate. The latter doesn't freeze the CPU anymore so it's enabled, and the former doesn't cause WinDBG to panic anymore and display weird data.
 - KPROCESSOR_STATE is not 4-byte aligned.
 - Use DR_MASK and DR7_OVERRIDE_V in KiUpdateDr7, KiRecordDr7 instead of DR_ACTIVE_MASK.
 - Add ExceptionRecord32To64.
 - Fix generation of driver name for symbol load.

svn path=/trunk/; revision=25937

14 years agoNtGdiGetObject
Magnus Olsen [Thu, 1 Mar 2007 19:13:29 +0000 (19:13 +0000)]
NtGdiGetObject
1. fixed one BSD it does show bluescreen when the buffer are too small
2. fixed some bugs in calculation of different GdiObject sized

svn path=/trunk/; revision=25935

14 years ago- call undocumented functions directly when building with MSVC and the MS PSDK
Ged Murphy [Wed, 28 Feb 2007 23:43:12 +0000 (23:43 +0000)]
- call undocumented functions directly when building with MSVC and the MS PSDK
- fixes building with MSVC

note, this can be removed when bulding ROS with MSVC isn't reliant on the MS PSDK

svn path=/trunk/; revision=25932

14 years agoAdd code to support font size changes.
Eric Kohl [Wed, 28 Feb 2007 22:49:34 +0000 (22:49 +0000)]
Add code to support font size changes.

svn path=/trunk/; revision=25931

14 years agoUse wsprintf() to convert an integer to a string instead of abusing a hidden edit...
Eric Kohl [Wed, 28 Feb 2007 20:44:47 +0000 (20:44 +0000)]
Use wsprintf() to convert an integer to a string instead of abusing a hidden edit control.

svn path=/trunk/; revision=25930

14 years ago- Make usetup ""work"" on systems with ~28MB+ RAM. Due to an unknown bug (in usetup...
Alex Ionescu [Wed, 28 Feb 2007 20:43:13 +0000 (20:43 +0000)]
- Make usetup ""work"" on systems with ~28MB+ RAM. Due to an unknown bug (in usetup or Mm, file copies during setup don't get flushed until memory reaches about 42-47% remaining. At this point, if enough memory is available, no more memory will be allocated, even though more files are being copied. On systems with < 48MB, the system will not usually flush pages fast enough to keep the memory at ~42-47%. We ""fix"" this by adding a delay to each file copy as long as free memory is below 40%.
- Also added 3 progress bars during memory transfers to show the status of the memory.

svn path=/trunk/; revision=25929

14 years ago- More refactoring of FreeLDR/SetupLDR PE Loader Code to remove some hacks.
Alex Ionescu [Wed, 28 Feb 2007 19:04:27 +0000 (19:04 +0000)]
- More refactoring of FreeLDR/SetupLDR PE Loader Code to remove some hacks.
- Don't double-free some entries when failing to load a boot driver. This would cause a crash when pciide couldn't load (since we don't yet import drivers in FreeLDR, and pciide needs pciidex). Thanks to encoded for reporting it.
- We now free boot driver memory again since it's safe to do so again. This should reduce memory requirements even more.

svn path=/trunk/; revision=25928

14 years ago- Properly load drivers using new method describred previously (read from disk into...
Alex Ionescu [Wed, 28 Feb 2007 17:48:44 +0000 (17:48 +0000)]
- Properly load drivers using new method describred previously (read from disk into temporary allocated buffer, then map into allocated memory, then free disk buffer).
- FreeLDR doesn't relocate nor map imports for drivers yet..still needs testing/fixes.

svn path=/trunk/; revision=25927

14 years agoforget to add 2 files
Sylvain Petreolle [Wed, 28 Feb 2007 14:24:17 +0000 (14:24 +0000)]
forget to add 2 files

svn path=/trunk/; revision=25926

14 years agofrench translations updates
Sylvain Petreolle [Wed, 28 Feb 2007 14:15:31 +0000 (14:15 +0000)]
french translations updates

svn path=/trunk/; revision=25925

14 years agoUpdate testapp
Saveliy Tretiakov [Wed, 28 Feb 2007 13:25:50 +0000 (13:25 +0000)]
Update testapp

svn path=/trunk/; revision=25924

14 years agoWM_INPUTLANGCHANGE is sent not posted.
Saveliy Tretiakov [Wed, 28 Feb 2007 13:23:51 +0000 (13:23 +0000)]
WM_INPUTLANGCHANGE is sent not posted.

svn path=/trunk/; revision=25923

14 years agoMake ntuser locks use eresource instead of mutex.
Saveliy Tretiakov [Wed, 28 Feb 2007 13:21:48 +0000 (13:21 +0000)]
Make ntuser locks use eresource instead of mutex.
Fix corresponding FIXME in class.c

svn path=/trunk/; revision=25922

14 years agoEnumChildWindows:
Timo Kreuzer [Wed, 28 Feb 2007 13:21:09 +0000 (13:21 +0000)]
EnumChildWindows:
- if hWndParent == NULL: call EnumWindows
- else use bChildren = TRUE

svn path=/trunk/; revision=25921

14 years agoNtUserBuildHwndList:
Timo Kreuzer [Wed, 28 Feb 2007 13:19:00 +0000 (13:19 +0000)]
NtUserBuildHwndList:
- handle bChildren
- remove some code duplication

svn path=/trunk/; revision=25920

14 years agoAndrey Janzen (virus126):
Saveliy Tretiakov [Wed, 28 Feb 2007 13:17:34 +0000 (13:17 +0000)]
Andrey Janzen (virus126):
echo %date% on windows >=XP return '24.02.2007', not 'Sut 24.02.2007'
fix & implement dynamic buffer

svn path=/trunk/; revision=25919

14 years agoAdded test functions for fsrtl lib
Dominique Cote [Wed, 28 Feb 2007 04:09:16 +0000 (04:09 +0000)]
Added test functions for fsrtl lib

svn path=/trunk/; revision=25918

14 years agomodified include/reactos/libs/pseh/framebased.h
KJK::Hyperion [Wed, 28 Feb 2007 00:22:08 +0000 (00:22 +0000)]
modified   include/reactos/libs/pseh/framebased.h
modified   lib/pseh/framebased.c
 - _SEH_ENABLE_TRACE now obsolete; _SEH_ENABLE_TRACE_LIB renamed to _SEH_ENABLE_TRACE now that the name is available again. Yay open source development model and yay me

svn path=/trunk/; revision=25917

14 years agomodified framebased.h
KJK::Hyperion [Wed, 28 Feb 2007 00:16:38 +0000 (00:16 +0000)]
modified   framebased.h
 - don't enable a random tracing level when the library is built for tracing but an application is not. Fastest bugfix ever

svn path=/trunk/; revision=25916

14 years agomodified include/reactos/libs/pseh/framebased.h
KJK::Hyperion [Wed, 28 Feb 2007 00:04:36 +0000 (00:04 +0000)]
modified   include/reactos/libs/pseh/framebased.h
 - final reformatting/cleanup fixes
 - fixed regression introduced in 25908

modified   include/reactos/libs/pseh/framebased.h
modified   include/reactos/libs/pseh/framebased/internal.h
modified   lib/pseh/framebased.c
 - per-frame tracing support for PSEH. Prints detailed debugging traces with DbgPrint when enabled. New defines _SEH_ENABLE_TRACE, _SEH_ENABLE_TRACE_LIB and _SEH_DO_DEFAULT_TRACING, new macros _SEH_EnableTracing() and _SEH_DisableTracing(), new constants _SEH_DO_TRACE_XXX. Please test it
See issue #2069 for more details.

svn path=/trunk/; revision=25915

14 years agoUndo 25911
Dmitry Gorbachev [Tue, 27 Feb 2007 18:17:26 +0000 (18:17 +0000)]
Undo 25911

svn path=/trunk/; revision=25913

14 years agoUpdate Russian translations.
Dmitry Gorbachev [Tue, 27 Feb 2007 16:51:19 +0000 (16:51 +0000)]
Update Russian translations.

svn path=/trunk/; revision=25912

14 years agoIndonesian translation by Zaenal Mutaqin
Dmitry Gorbachev [Tue, 27 Feb 2007 00:04:43 +0000 (00:04 +0000)]
Indonesian translation by Zaenal Mutaqin

svn path=/trunk/; revision=25911

14 years agoAdded:
Dominique Cote [Mon, 26 Feb 2007 20:22:55 +0000 (20:22 +0000)]
Added:
FsRtlPrepareMdlWriteDev()
FsRtlMdlWriteCompleteDev()
FsRtlPrepareMdlWrite()
FsRtlMdlWriteComplete()

svn path=/trunk/; revision=25910

14 years agoReformatted, for real
KJK::Hyperion [Mon, 26 Feb 2007 15:55:43 +0000 (15:55 +0000)]
Reformatted, for real

svn path=/trunk/; revision=25909

14 years agomodified include/reactos/libs/pseh/framebased.h
KJK::Hyperion [Mon, 26 Feb 2007 15:32:19 +0000 (15:32 +0000)]
modified   include/reactos/libs/pseh/framebased.h
   Removed some bad optimization ideas that never worked anyway. If you want optimization, use the uglier _SEHX macros. If you enjoy several huge, non-optimizable nested loops in all of your functions, just keep using the _SEH form

deleted    include/reactos/libs/pseh/native.h
deleted    include/reactos/libs/pseh/prettybased.h
   Deleted some really bad ideas that nobody used or maintained anyway

All and all else
   Reformatted. Goodbye one-space indentation, hello tabs

svn path=/trunk/; revision=25908

14 years agoIndonesian translation (Zaenal Mutaqin)
Dmitry Gorbachev [Mon, 26 Feb 2007 14:37:09 +0000 (14:37 +0000)]
Indonesian translation (Zaenal Mutaqin)

svn path=/trunk/; revision=25907

14 years agoIndonesian translation (Zaenal Mutaqin)
Dmitry Gorbachev [Sun, 25 Feb 2007 22:45:32 +0000 (22:45 +0000)]
Indonesian translation (Zaenal Mutaqin)

svn path=/trunk/; revision=25906

14 years ago- Sort font names alphabetically.
Eric Kohl [Sun, 25 Feb 2007 21:58:20 +0000 (21:58 +0000)]
- Sort font names alphabetically.
- Enable the user to choose fonts.

svn path=/trunk/; revision=25905

14 years agoFix installname
Saveliy Tretiakov [Sat, 24 Feb 2007 18:16:50 +0000 (18:16 +0000)]
Fix installname

svn path=/trunk/; revision=25902

14 years agoadding -dump as param to dumping out all struct and data
Magnus Olsen [Sat, 24 Feb 2007 13:58:25 +0000 (13:58 +0000)]
adding -dump as param to dumping out all struct and data

svn path=/trunk/; revision=25901

14 years agoadding more testcase for NtGdiDdQueryDirectDrawObject
Magnus Olsen [Sat, 24 Feb 2007 13:32:09 +0000 (13:32 +0000)]
adding more testcase for NtGdiDdQueryDirectDrawObject

svn path=/trunk/; revision=25900

14 years agoadding more testcase for NtGdiDdQueryDirectDrawObject
Magnus Olsen [Sat, 24 Feb 2007 12:24:31 +0000 (12:24 +0000)]
adding more testcase for NtGdiDdQueryDirectDrawObject

svn path=/trunk/; revision=25899

14 years agokbdse.dll -> kbdsw.dll
Saveliy Tretiakov [Sat, 24 Feb 2007 12:00:43 +0000 (12:00 +0000)]
kbdse.dll -> kbdsw.dll

svn path=/trunk/; revision=25898

14 years agoAndrey Janzen (virus126):
Saveliy Tretiakov [Fri, 23 Feb 2007 20:05:39 +0000 (20:05 +0000)]
Andrey Janzen (virus126):
- Fix warning when using FEATURE_UNIX_FILENAME_COMPLETION.
- Make unix-style completion work correctly.
- Make %time% return milliseconds/10.

svn path=/trunk/; revision=25896

14 years agoAndrey Janzen (virus126):
Saveliy Tretiakov [Fri, 23 Feb 2007 19:52:00 +0000 (19:52 +0000)]
Andrey Janzen (virus126):
Replace numbers by constants in all translations.
Fixes bug 2065.

svn path=/trunk/; revision=25895

14 years ago- Update FreeLDR PE Loading to actually use its Mm routines to allocate a buffer...
Alex Ionescu [Fri, 23 Feb 2007 19:48:25 +0000 (19:48 +0000)]
- Update FreeLDR PE Loading to actually use its Mm routines to allocate a buffer to read an image file into, then to allocate the actual load base and use the same code as in sysldr.c right now to PE-load the image into memory, then free the original read buffer. Not yet enabled for drivers!
- This means that:
  - 1) FreeLDR now keeps memory accounting information for the image files it loads, instead of us randomly writing to memory.
  - 2) We now skip sections marked as NO_LOAD. The kernel already re-mapped drivers doing this, but it didn't remap the kernel/hal, plus we still had to map the drivers once in FreeLDR, so we're saving a meg+ of kernel memory.

svn path=/trunk/; revision=25894

14 years agoUpdate keyboard layout names. Add "Layout Id" key for Us-Dvorak. Rename kbdse.dll...
Saveliy Tretiakov [Fri, 23 Feb 2007 18:41:48 +0000 (18:41 +0000)]
Update keyboard layout names. Add "Layout Id" key for Us-Dvorak. Rename kbdse.dll to kbdsw.dll

svn path=/trunk/; revision=25893

14 years ago- Load the driver image file with OBJ_KERNEL_HANDLE, and don't use FILE_SYNCHRONOUSIO...
Alex Ionescu [Fri, 23 Feb 2007 15:35:14 +0000 (15:35 +0000)]
- Load the driver image file with OBJ_KERNEL_HANDLE, and don't use FILE_SYNCHRONOUSIO_NONALERT, since we can use async access since the data is now being mapped instead of read.

svn path=/trunk/; revision=25892

14 years ago- Add a new member to MM_IMAGE_SECTION_OBJECT to hold the size of the mapped image...
Alex Ionescu [Fri, 23 Feb 2007 15:31:45 +0000 (15:31 +0000)]
- Add a new member to MM_IMAGE_SECTION_OBJECT to hold the size of the mapped image file.
- Finally load driver images like human beings, as actual image section objects instead of random memory that we allocate and manually "load" using unsafe and crappy PE memory copies. We now use KJK's integer-safe and properly documented/implemented loader for image sections that is already used for processes and other user-mode images.
- Implement MiLoadImageSection for the task above and remove all the deprecated code that did the previous hackloading.

svn path=/trunk/; revision=25891

14 years agoMove primary language selection from Input Locale page to General page.
Saveliy Tretiakov [Fri, 23 Feb 2007 09:35:32 +0000 (09:35 +0000)]
Move primary language selection from Input Locale page to General page.

svn path=/trunk/; revision=25890

14 years agoUpdate testapp
Saveliy Tretiakov [Fri, 23 Feb 2007 08:56:32 +0000 (08:56 +0000)]
Update testapp

svn path=/trunk/; revision=25889

14 years agoAdd KLF_SHIFTLOCK and KLF_RESET
Saveliy Tretiakov [Fri, 23 Feb 2007 08:21:29 +0000 (08:21 +0000)]
Add KLF_SHIFTLOCK and KLF_RESET

svn path=/trunk/; revision=25888

14 years agoFix warnings.
Saveliy Tretiakov [Fri, 23 Feb 2007 08:20:33 +0000 (08:20 +0000)]
Fix warnings.

svn path=/trunk/; revision=25887

14 years ago- Get rid of LdrGetModuleObject, since MmLoadSystemImage will now return the existing...
Alex Ionescu [Fri, 23 Feb 2007 07:56:01 +0000 (07:56 +0000)]
- Get rid of LdrGetModuleObject, since MmLoadSystemImage will now return the existing module object in case it has already been loaded, get rid of LdrGetProcedureAddress, it doesn't belong in the kernel. Move MmGetSystemRoutineAddress from mm.c to sysldr.c and rewrite it to use MiFindExportedRoutineByName instead.
- Remove /ldr ntoskrnl directory, since this module is finally gone.
- Make PsInit code search for ntdll lookups using LookupEntryPoint internal function, instead of LdrGetProcedureAddress. Same code but done with recursion instead, and internal to this module (remove ANSI_STRINGs since we don't need them anymore).

svn path=/trunk/; revision=25886

14 years ago- Merge DbgUnLoadImageSymbols from KD branch.
Alex Ionescu [Fri, 23 Feb 2007 07:13:19 +0000 (07:13 +0000)]
- Merge DbgUnLoadImageSymbols from KD branch.
- Rename LdrUnloadModule to MmUnloadSystemImage and:
  - Use MmSystemLoadLock.
  - Take into consideration the import list.
  - Honour load count.
  - Unload symbols if really unloading the image.
  - Dereference and clear imports.
  - Do proper LdrEntry cleanup.
- Stub MiDereferenceImports and MmCallDllInitialize.
- Implement MiLocateExportName and MiClearImports.
- We don't yet fully support reference counting imports...this is still TBD.

svn path=/trunk/; revision=25885

14 years ago- Fix build.
Alex Ionescu [Fri, 23 Feb 2007 06:59:10 +0000 (06:59 +0000)]
- Fix build.

svn path=/trunk/; revision=25884

14 years ago- Fix MmCreateImageSection to use previous mode instead of hardcoding UserMode.
Alex Ionescu [Fri, 23 Feb 2007 05:39:42 +0000 (05:39 +0000)]
- Fix MmCreateImageSection to use previous mode instead of hardcoding UserMode.
- Implement MiProcessLoaderEntry for adding/removing entries on the PsLoadedModuleList.
- Move MmLoadSystemImage from loader.c to sysldr.c
- Update MmLoadSystemImage:
  - Use MmSystemLoadLock.
  - Support returning the entry for an already-loaded image, instead of loading it twice.
  - Use Section APIs to map the image... we're still doing a dirty ZwReadFile hack, but at least now we can depend on the PE code to validate the image (so removed the hardcoded validation).
  - Add more generic cleanup got so we can just jump to it.
  - Add more stub code and detection code for upcoming features.

svn path=/trunk/; revision=25883

14 years agoIndonesian translation by Zaenal Mutaqin (ade999 at gmail dot com)
Dmitry Gorbachev [Fri, 23 Feb 2007 01:42:52 +0000 (01:42 +0000)]
Indonesian translation by Zaenal Mutaqin (ade999 at gmail dot com)

svn path=/trunk/; revision=25882

14 years ago- Move some Mm routines from pe.c to sysldr.c where they belong.
Alex Ionescu [Thu, 22 Feb 2007 20:55:02 +0000 (20:55 +0000)]
- Move some Mm routines from pe.c to sysldr.c where they belong.
- Create and initialize Mm Loader lock.
- Re-arrange some code in MmLoadSystemImage, no code changes yet.
- Add new LDRP_ flags for LDR_DATA_TABLE_ENTRY to the NDK.

svn path=/trunk/; revision=25881

14 years agoHandle WM_INPUTLANGCHANGE and WM_INPUTLANGCHANGEREQUEST in DefWindowProc.
Saveliy Tretiakov [Thu, 22 Feb 2007 19:43:27 +0000 (19:43 +0000)]
Handle WM_INPUTLANGCHANGE and WM_INPUTLANGCHANGEREQUEST in DefWindowProc.

svn path=/trunk/; revision=25880

14 years agoNtUserLoadKeyboardLayoutEx: Support KLF_REORDER and KLF_ACTIVATE.
Saveliy Tretiakov [Thu, 22 Feb 2007 19:41:10 +0000 (19:41 +0000)]
NtUserLoadKeyboardLayoutEx: Support KLF_REORDER and KLF_ACTIVATE.
NtUserActivateKeyboardLayout: Support HKL_NEXT, HKL_PREV, KLF_REORDER.

svn path=/trunk/; revision=25879

14 years agowin32k dx test are now compatible with all Windows and ReactOS that got a d3d8thk...
Magnus Olsen [Thu, 22 Feb 2007 19:21:10 +0000 (19:21 +0000)]
win32k dx test are now compatible with all Windows and ReactOS that got a d3d8thk.dll file
rember that file are diffent for Windows 2000 and Windows XP/2003 ReactOS d38thk.dll are Windows XP/2003 compatible.

svn path=/trunk/; revision=25878

14 years agoMove d3d8thk.h for it being use for apps that need todo win32k syscall for directx...
Magnus Olsen [Thu, 22 Feb 2007 19:10:40 +0000 (19:10 +0000)]
Move d3d8thk.h for it being use for apps that need todo win32k syscall for directx graphice part

svn path=/trunk/; revision=25877

14 years agofix build
Sylvain Petreolle [Thu, 22 Feb 2007 18:48:01 +0000 (18:48 +0000)]
fix build

svn path=/trunk/; revision=25876

14 years ago- Rename LdrLoadModule to MmLoadSystemImage and change prototype. No code change...
Alex Ionescu [Thu, 22 Feb 2007 18:30:50 +0000 (18:30 +0000)]
- Rename LdrLoadModule to MmLoadSystemImage and change prototype. No code change except update callers and return ImageBaseAddress parameter when requested.

svn path=/trunk/; revision=25875

14 years ago- Improve LdrGetModuleObject (in FreeLDR) to handle partial names too, so NTOSKRNL...
Alex Ionescu [Thu, 22 Feb 2007 18:02:53 +0000 (18:02 +0000)]
- Improve LdrGetModuleObject (in FreeLDR) to handle partial names too, so NTOSKRNL will still match NTOSKRNL.EXE. This is needed for forwarder support.
- Implement LdrPEFixupForward in FreeLDR and update LdrPEGetExportByName to use it, so that FreeLDR can now parse import tables with forwarders.
- Add call to MmInitSystem for Phase 0 in ExpInitializeExecutive.
- Completely redesign the way boot drivers are handled. They're now re-mapped during Phase 0 MmInit (part of the re-mapping is a hack until FreeLDR 2.5 is ready) and the IoMgr only does I/O stuff, not PE loading anymore (this is only half-true, we still process imports until FreeLDR 2.5 is done).
- Also re-design the way the module list head is initialized and used. LdrInit1 is now gone, Phase 0 MmInit now handles initializing it and copying boot loader data to it.
- Some code is still missing and functions still need to be improved.
- When FreeLDR 2.5 is ready some of the hacks will go away, they're #ifed for now to make it easy to switch.

svn path=/trunk/; revision=25874

14 years agoFix build with gcc 4.1.2 backups/alex-kd-branch@25995
Hervé Poussineau [Thu, 22 Feb 2007 00:14:20 +0000 (00:14 +0000)]
Fix build with gcc 4.1.2

svn path=/branches/alex-kd-branch/; revision=25873

14 years ago- Rename ModuleListHead to PsLoadedModulesList.
Alex Ionescu [Thu, 22 Feb 2007 00:01:52 +0000 (00:01 +0000)]
- Rename ModuleListHead to PsLoadedModulesList.
- Start implementing some routines of the Mm SysLdr. Implemented MiSnapThunk and most of MiResolveImageReferences. The SysLdr has a lot of restrictions that the typical Ldr in user-mode doesn't, as well as manages imports and reference counts them, so the code can't be shared with ntdll's Ldr (this is also why real NT doesn't have an Ldr component, and this is in Mm).
- Fix some PE Header types that were wrong in our PSDK.

svn path=/trunk/; revision=25872

14 years agoadding a helper intEnableDriver it will be use for enable the dx driver for the graph...
Magnus Olsen [Wed, 21 Feb 2007 22:19:31 +0000 (22:19 +0000)]
adding a helper intEnableDriver it will be use for enable the dx driver for the graphice card.
rewrote NtGdiDdQueryDirectDrawObject so it only copy the cache data only. This will speed up allot. we only need call on NtGdiDdCreateDirectDrawObject yo setup the whole cache and enable the drv with the helper functions. the NtGdiDdQueryDirectDrawObject will be faster like this. using RtlCopyMemory insted for RtlMemMove  and allot other change in it. adding _SEH to NtGdiDdQueryDirectDrawObject so user can not crash it any longer.

svn path=/trunk/; revision=25870

14 years agoSilence some warnings
Timo Kreuzer [Wed, 21 Feb 2007 22:04:59 +0000 (22:04 +0000)]
Silence some warnings

svn path=/trunk/; revision=25869

14 years ago- Implement ExpQueryModuleInformation to handle SystemModuleInformation, instead...
Alex Ionescu [Wed, 21 Feb 2007 18:43:57 +0000 (18:43 +0000)]
- Implement ExpQueryModuleInformation to handle SystemModuleInformation, instead of LdrpQueryModleInformation. This version properly fills out all the data required and also supports (but doesn't yet handle) user-mode modules.
- Start work on supporting NT-compatible System Loader that properly fills out LDR_DATA_TABLE_ENTRY and handles imports correctly. Modified LdpPEProcessModule to properly build the data table entry and create the base name and directory name.
- Add stub for MiResolveImageRefernces.

svn path=/trunk/; revision=25868

14 years agoThai translation (Sumath Aowsakulsutthi)
Dmitry Gorbachev [Wed, 21 Feb 2007 18:23:59 +0000 (18:23 +0000)]
Thai translation (Sumath Aowsakulsutthi)

svn path=/trunk/; revision=25867

14 years agoThai translation (Sumath Aowsakulsutthi)
Dmitry Gorbachev [Wed, 21 Feb 2007 18:22:30 +0000 (18:22 +0000)]
Thai translation (Sumath Aowsakulsutthi)

svn path=/trunk/; revision=25866

14 years agoThai translation by Sumath Aowsakulsutthi (punth1 at gmail dot com)
Dmitry Gorbachev [Wed, 21 Feb 2007 18:22:11 +0000 (18:22 +0000)]
Thai translation by Sumath Aowsakulsutthi (punth1 at gmail dot com)

svn path=/trunk/; revision=25865

14 years agoFix Italian resource file
Dmitry Gorbachev [Wed, 21 Feb 2007 11:41:17 +0000 (11:41 +0000)]
Fix Italian resource file

svn path=/trunk/; revision=25863

14 years ago- Properly implement SystemLoadGdiDriverInformation.
Alex Ionescu [Wed, 21 Feb 2007 02:46:30 +0000 (02:46 +0000)]
- Properly implement SystemLoadGdiDriverInformation.
- Properly implement SystemExtendServiceTableInformation, except that the SE_LOAD_DRIVER_PRIVILEGE check is currently disabled since our smss doesn't acquire it (and we should therefore ban it from loading win32k.sys...).
- Delete LdrpLoadImage, LdrpUnlaodImage, LdrpLoadAndCallImage.

svn path=/trunk/; revision=25862

14 years ago- Cleanup loader.c and comment some public routines (no code change).
Alex Ionescu [Wed, 21 Feb 2007 01:57:02 +0000 (01:57 +0000)]
- Cleanup loader.c and comment some public routines (no code change).
- Temporarily remove routines to set per-page protection (this doesn't really break anything, just makes the OS less secure).

svn path=/trunk/; revision=25861

14 years ago- Get rid of a bunch of multiboot crap FreeLDR was still doing for ReactOS.
Alex Ionescu [Tue, 20 Feb 2007 20:02:52 +0000 (20:02 +0000)]
- Get rid of a bunch of multiboot crap FreeLDR was still doing for ReactOS.
- Remove some of the sixtuplicated routines to load a PE file. We're now down to a single function which takes an ImageType parameter for DLL/EXE/SYS, but even this is still temporary as the parameter will soon go away.
- We now load drivers in the same nice way that we load the kernel and DLLs, but we don't yet process their imports and relocate them in FreeLDR, because FreeLDR doesn't handle forwarders yet.
- We don't need a large hack in KiRosPrepareForSystemStartup anymore since the driver base addresses are now proper.
- Don't free boot-drivers anymore, since we'll load them in place soon.
- Don't load bootvid twice.
- Remove PAE stuff in FreeLDR since we don't support PAE anyway in the kernel and when we do, might as well implement it cleanly instead of relying on the broken FreeLDR stuff.

svn path=/trunk/; revision=25860

14 years ago- Don't load .SYM in freeldr anymore.
Alex Ionescu [Tue, 20 Feb 2007 16:39:31 +0000 (16:39 +0000)]
- Don't load .SYM in freeldr anymore.
- Fix generation of driver name for symbol load.

svn path=/branches/alex-kd-branch/; revision=25859

14 years ago- Fix loading of boot symbols.
Alex Ionescu [Tue, 20 Feb 2007 06:51:16 +0000 (06:51 +0000)]
- Fix loading of boot symbols.
- Fix bug in KdpLoadSymbolsStateChange, we were never actually copying the pathname.
- Output of lm:
kd> lm
start    end        module name
80000000 80283000   nt         (export symbols)       ntoskrnl.exe
80283000 8029d000   hal        (export symbols)       halup.dll

svn path=/branches/alex-kd-branch/; revision=25858

14 years ago- Add ExceptionRecord32To64.
Alex Ionescu [Tue, 20 Feb 2007 06:25:58 +0000 (06:25 +0000)]
- Add ExceptionRecord32To64.
- Implement KdpReportExceptionStateChange and fully support KdpReport.
- We now properly break inside HAL (with /BREAK) and WinDBG shows a nice stack trace, and disassembly, and I can step through the HAL initialization code!

svn path=/branches/alex-kd-branch/; revision=25857

14 years ago- Properly sign-extend a couple more pointers. WinDBG is still complaining about...
Alex Ionescu [Tue, 20 Feb 2007 05:02:52 +0000 (05:02 +0000)]
- Properly sign-extend a couple more pointers. WinDBG is still complaining about two of them though.

svn path=/branches/alex-kd-branch/; revision=25856

14 years ago- Implement KdpGetStateChange.
Alex Ionescu [Tue, 20 Feb 2007 04:57:43 +0000 (04:57 +0000)]
- Implement KdpGetStateChange.
- Implement DbgKdContinueApi and DbgKdContinueApi2 cases.
- Remove several while (TRUE);s which started being hit since our code is working fine.
- WinDBG gets notifications for all the drivers/symbols being loaded and ROS now boots to bootvid logo, but we don't yet break-in.

svn path=/branches/alex-kd-branch/; revision=25855

14 years ago- Implement KdpWriteControlSpace.
Alex Ionescu [Tue, 20 Feb 2007 04:38:01 +0000 (04:38 +0000)]
- Implement KdpWriteControlSpace.
- Fix a bug in KdpSetContext.
- Use DR_MASK and DR7_OVERRIDE_V in KiUpdateDr7, KiRecordDr7 instead of DR_ACTIVE_MASK.
- We now get DbgKdContinueApi2 from WinDBG meaning that the first phase of KD communication is almost over!

svn path=/branches/alex-kd-branch/; revision=25854

14 years ago- Implement KdpSetContext.
Alex Ionescu [Tue, 20 Feb 2007 03:45:11 +0000 (03:45 +0000)]
- Implement KdpSetContext.
- Fix KdpReport, it was totally out of whack.

svn path=/branches/alex-kd-branch/; revision=25853

14 years ago- KPROCESSOR_STATE is not 4-byte aligned.
Alex Ionescu [Tue, 20 Feb 2007 03:22:30 +0000 (03:22 +0000)]
- KPROCESSOR_STATE is not 4-byte aligned.
- Fail physical memory reads for now.
- Use the right kernel load address.
- Generate image name when loading boot symbols. Now WinDBG sees "ntoskrnl.exe".
- Fix KiSaveProcessorControlState and KiRestoreProcessorControlSate. The latter doesn't freeze the CPU anymore so it's enabled, and the former doesn't cause WinDBG to panic anymore and display weird data.

svn path=/branches/alex-kd-branch/; revision=25852

14 years ago- Implement DbgKdClearAllInternalBreakpointsApi
Alex Ionescu [Tue, 20 Feb 2007 02:12:39 +0000 (02:12 +0000)]
- Implement DbgKdClearAllInternalBreakpointsApi
- Implement KdpGetContext for DbgKdGetContextApi.
- WinDBG now goes to Phase 2 connection and prints out:
Windows Server 2003 Kernel Version 3790 UP Checked x86 compatible
Built by: 20070215-r25797
Kernel base = 0x80100000 PsLoadedModuleList = 0x80112230

svn path=/branches/alex-kd-branch/; revision=25851

14 years ago- Add kdbreak.c with the following APIs: KdpLowWriteContent, KdpLowRestoreBreakpoint...
Alex Ionescu [Tue, 20 Feb 2007 02:00:01 +0000 (02:00 +0000)]
- Add kdbreak.c with the following APIs: KdpLowWriteContent, KdpLowRestoreBreakpoint, KdpDeleteBreakpoint, KdpDeleteBreakpointRange, KdpRestoreAllBreakpoints. Adding breakpoints not yet supported.
- Enable kdinit.c call to KdpRestoreAllBreakpoints.
- Add breakpoint table and data.
- Support DbgKdRestoreBreakpointApi. Now we get DbgKdClearAllInternalBreakpointsApi.

svn path=/branches/alex-kd-branch/; revision=25850

14 years ago- Add a bunch of hacks to KdpReadVirtualMemory to make it work for now.
Alex Ionescu [Tue, 20 Feb 2007 01:13:22 +0000 (01:13 +0000)]
- Add a bunch of hacks to KdpReadVirtualMemory to make it work for now.
- Fix bugs in KdpGetVersion, KdpReadVirtualMemory.
- Implement KdpReadControlSpace.
- Fix setting kernel range address instead of kernel image load address.
- WinDBG is slowly trying to talk with us. Now it wants to restore breakpoints since it thinks this is the same machine I was debugging last night.

svn path=/branches/alex-kd-branch/; revision=25849

14 years agoadd chars to the edit box when either double clicked or the select button is hit
Ged Murphy [Mon, 19 Feb 2007 23:56:16 +0000 (23:56 +0000)]
add chars to the edit box when either double clicked or the select button is hit

svn path=/trunk/; revision=25848

14 years ago- Create ntverp.h and common.ver files. These are the standard files used by the...
Alex Ionescu [Mon, 19 Feb 2007 22:28:50 +0000 (22:28 +0000)]
- Create ntverp.h and common.ver files. These are the standard files used by the NT/DDK build systems and we should try to support them as well instead of re-defining everything our own way (especially if we want to build ddk-compatible drivers later on).
- Made init.c use version data from ntverp.h instead of hard-coding.
- Defined NT 5.2.3790.1830 as the version we report.
- Fixed up .rc file to be correct and match DDK-sytnax/style.
- For now only the kernel uses this new versionning scheme, but we should change the build system later to use this for every component.

svn path=/branches/alex-kd-branch/; revision=25847

14 years ago- Implement KdpSysGetVersion, KdpGetVersion, KdpReadVirtualMemory.
Alex Ionescu [Mon, 19 Feb 2007 21:30:26 +0000 (21:30 +0000)]
- Implement KdpSysGetVersion, KdpGetVersion, KdpReadVirtualMemory.
- Fix bugs in KdInitSystem; some 64-bit pointers must be sign-extneded, not zero-extended (thanks Myria!)
- Properly read kernel base instead of kernel stack.
- Fix compile issue due to incorrect KiBugCheckData definition.
- WinDBG reports: "Connected to Windows Vista 16199 x86 compatible target, ptr64 FALSE. Kernel Debugger connection established.  (Initial Breakpoint requested)"

svn path=/branches/alex-kd-branch/; revision=25846

14 years ago- Create GCC_ULONG64 type to hack around a bug in GCC which is incapable of creating...
Alex Ionescu [Mon, 19 Feb 2007 18:52:23 +0000 (18:52 +0000)]
- Create GCC_ULONG64 type to hack around a bug in GCC which is incapable of creating entries for externals at compile-time for 64-bit pointers.
- Rename NameSpaceRoot to ObpRootDirectoryObject, IopLogListHead to IopErrorLogListHead, BugcheckCallbackListHead to KeBugcheckCallbackListHead, BugcheckReasonCallbackListHead to KeBugcheckReasonCallbackListHead, ObTypeObjectType to ObpTypeObjectType.
- Fill out KdDebuggerDataBlock with the variables that ROS currently supports. Most Mm variables we don't have yet -- it's unknown how much this will hurt WinDBG compatibility/functionality.
- Add KdPrint circular buffer and buffer location/data variables.

svn path=/branches/alex-kd-branch/; revision=25845

14 years agoEnable the user to set the size of captions, caption buttons, menu bars and croll...
Eric Kohl [Mon, 19 Feb 2007 16:12:38 +0000 (16:12 +0000)]
Enable the user to set the size of captions, caption buttons, menu bars and croll bars.

svn path=/trunk/; revision=25844

14 years ago- We now tell WinDBG to load kernel symbols and WinDBG replies (!) with DbgKdGetVersi...
Alex Ionescu [Mon, 19 Feb 2007 15:02:39 +0000 (15:02 +0000)]
- We now tell WinDBG to load kernel symbols and WinDBG replies (!) with DbgKdGetVersionApi to find out who we are (he's in for a surprise ;)):
  - Implement KdpSetCommonState (except code to clear breakpoints).
  - Implement KdpSetContextState (for x86).
  - Implement KdpReportLoadSymbolsStateChange.
  - Implement skeleton of KdpSendWaitContinue, the main KD API Loop.
  - Add KCONTINUE_STATUS.
  - Redefine KdReceivePacket's return value to KDSTATUS and define possibile values.
  - Add DBGKD_ANY_CONTROL_SET and X86/IA64/AMD64 control sets.
  - Add DBGKD_MANIPULATE_STATE64 and all sub-structures (READ_MEMORY, WRITE_MEMORY, etc).
  - Fix definition of KdpSymbol.

svn path=/branches/alex-kd-branch/; revision=25843

14 years agoFix a bug
Dmitry Gorbachev [Mon, 19 Feb 2007 13:20:09 +0000 (13:20 +0000)]
Fix a bug

svn path=/trunk/; revision=25842

14 years agoMinor fixes, thanks Ged
Thomas Bluemel [Mon, 19 Feb 2007 13:15:28 +0000 (13:15 +0000)]
Minor fixes, thanks Ged

svn path=/trunk/; revision=25841

14 years ago- Dummy commit for documentation purposes:
Alex Ionescu [Sun, 18 Feb 2007 22:46:01 +0000 (22:46 +0000)]
- Dummy commit for documentation purposes:
  "The KD64 6.0 implementation is based on information from the VSJ article located at: http://www.vsj.co.uk/articles/display.asp?id=265 by Albert Alameida. Although Windows 2000 shipped with KD64 5.0, much of the implementation details have not changed. Additionally, the Windows 2000 DDK (accidentally?) shipped with a file called windbgkd.h which contains internal KD64 information and documentation. WinDBG's SDK ships with wdbgexts.h which contains more internal information on some portable structures. Other information was gathered through people such as Skywing."

svn path=/branches/alex-kd-branch/; revision=25840

14 years ago- KdDebuggerNotPresent should be FALSE by default.
Alex Ionescu [Sun, 18 Feb 2007 22:32:32 +0000 (22:32 +0000)]
- KdDebuggerNotPresent should be FALSE by default.
- KdpTimeSlipPending should be 1 by defalt.
- Enable KdInitSystem; don't touch SharedUserData yet because our loader doesn't map it properly until we hit MmInit1, so disable this code for now.
- Implement KdpPollBreakInWithPortLock.
- Add calls to KdpPrint, KdpSymbol since KdpTrap now gets activated. Implement KdpPrint and KdpPrintString, but not KdLogDbgPrint (so debug messages before WinDBG connects are currently lost).
- Implement KdpSymbol but not essential call to KdpReportLoadSymbolsStateChange.
- Only save/restore CR4 if KeFeatureBits indicates CR4 support exists.
- Export KdDebuggerNotPresent since KDCOM needs it.

svn path=/branches/alex-kd-branch/; revision=25839

14 years ago- Add kd64 folder for KD64 6.0 implementation.
Alex Ionescu [Sun, 18 Feb 2007 20:51:30 +0000 (20:51 +0000)]
- Add kd64 folder for KD64 6.0 implementation.
- Implement KdEnterDebugger, KdExitDebugger, KdEnableDebuggerWithLock, KdEnableDebugger.
- Add KD Version Block, KD Component Masks, and KD Configuration Options.
- Implement KdInitSystem and KdRegisterDebuggerDataBlock.
- Implement KdPollBreakIn, KdpLockPort, KdpUnlockPort.
- Implement KdpStub and KdpReport. Implement logic of KdpTrap but not helper calls (KdpTrap is only enabled after KD connects).
- Implement KD Time Slip support, KdpSwitchProcessor, KdpQueryPerformanceCounter.

svn path=/branches/alex-kd-branch/; revision=25838

14 years ago- Add KdDebuggerInitialize1 and enable call to it.
Alex Ionescu [Sun, 18 Feb 2007 20:47:04 +0000 (20:47 +0000)]
- Add KdDebuggerInitialize1 and enable call to it.
- Fix KD_SYMBOLS_INFO definition and DbgLoadImageSymbols prototype.
- Implement DbgUnLoadImageSymbols.
- Fix some small bugs in KeBugCheckWithTf and add various debugger calls/checks where needed.
- Fix bugcheck recursion code which was incorrect.

svn path=/branches/alex-kd-branch/; revision=25837

14 years ago- Fix KiDebugService to load EDX from KTRAP_FRAME_EDX, not KTRAP_FRAME_EAX!.
Alex Ionescu [Sun, 18 Feb 2007 19:30:33 +0000 (19:30 +0000)]
- Fix KiDebugService to load EDX from KTRAP_FRAME_EDX, not KTRAP_FRAME_EAX!.
- Fix CommonDispatchException to check for the argument count in ECX, not EAX. Previously we were ignoring parameter counts and never filling out exception records!
- Fix DebugPrint to be the same in user-mode and kernel-mode by using DebugService. This now works because the bugs above were fixed.

svn path=/branches/alex-kd-branch/; revision=25836

14 years ago- Add stubs for KdSave, KdRestore, KdDebuggerInitialize0, KdSendPacket, KdReceivePack...
Alex Ionescu [Sun, 18 Feb 2007 16:50:37 +0000 (16:50 +0000)]
- Add stubs for KdSave, KdRestore, KdDebuggerInitialize0, KdSendPacket, KdReceivePacket to kdcom.dll
- Implement and export KeTryToAcquireSpinLockAtDpcLevel.

svn path=/branches/alex-kd-branch/; revision=25835

14 years agoPatch from Preston:
Saveliy Tretiakov [Sun, 18 Feb 2007 16:35:09 +0000 (16:35 +0000)]
Patch from Preston:
fix bug 1918 "Keyboard config unavailable".

svn path=/trunk/; revision=25834

14 years ago- Add EXCEPTION_RECORD64 and LIST_ENTRY64, KeTryToAcquireSpinLockAtDpcLevel, BREAKPOI...
Alex Ionescu [Sun, 18 Feb 2007 07:21:03 +0000 (07:21 +0000)]
- Add EXCEPTION_RECORD64 and LIST_ENTRY64, KeTryToAcquireSpinLockAtDpcLevel, BREAKPOINT_COMMAND_STRING, Ke386SetCr2, Ke386SetDr3, Ke386SetDr6.
- Remove non-kernel routines from kdfuncs.h and remove deprecated routines from ke.h.
- Implement KiRestoreProcessorControlState, KeFreezeExecution, KeThawExecution, ExAcquireTimeRefreshLock, ExReleaseTimeRefreshLock.
- Rename ModuleLoadList to PsLoadedModuleList. Add PsNtosImageBase and set value in it.
- Add skeleton wdbgexts.h with what's needed until now, this is a PSDK header.
- Add kddll.h for KDCOM/1394/USB2.DLL prototypes.
- Add windbgkd.h with KD protocol definitions. Used to be an NT5 DDK header, but was removed, so this goes into include\reactos.

svn path=/branches/alex-kd-branch/; revision=25833

14 years agoReenable the preview control notification. The user can now select the GUI item click...
Eric Kohl [Sat, 17 Feb 2007 21:40:39 +0000 (21:40 +0000)]
Reenable the preview control notification. The user can now select the GUI item clicking it in the preview control.

svn path=/trunk/; revision=25832

14 years agoPatch by Alexey Zavyalov (Generex).
Saveliy Tretiakov [Sat, 17 Feb 2007 15:46:25 +0000 (15:46 +0000)]
Patch by Alexey Zavyalov (Generex).
Implement SetLocaleInfoA, SetLocaleInfoW.

svn path=/trunk/; revision=25831

14 years agoPatch by Andrey Janzen (virus126).
Saveliy Tretiakov [Sat, 17 Feb 2007 15:33:57 +0000 (15:33 +0000)]
Patch by Andrey Janzen (virus126).
Fix copy\paste bug in calc.

svn path=/trunk/; revision=25830

14 years agoadding file dump.c it contain printf stuff to dump some struct to the screen it can...
Magnus Olsen [Sat, 17 Feb 2007 15:01:01 +0000 (15:01 +0000)]
adding file dump.c it contain printf stuff to dump some struct to the screen it can make debuging more easy. but if u build reactos with DBG=0 you will not see the dump of the stuct I mabe will add a option to it when u start this tools so it dump data when u use the options.

svn path=/trunk/; revision=25829