- The PE code can be built as an executable, it works as expected and nothing changes (the size of the generated code doesn't change).
- Export the Scsi functions also on x86 MSVC builds. Because of that, increase the number of expected PE sections in the FreeLdr image check function. Note that x64 MSVC build do not have the Scsi code ready yet, hence it doesn't export the corresponding functions.
- The spec2def command should have the name of the generated PE file.
- Remove one hardcoded value.
During my investigations I noticed that using a section alignment of 0x400 for freeldr MSVC builds (instead of the default 0x1000) made the MSVC builds *bigger*. Furthermore, using the default alignment of 0x1000 makes the freeldr MSVC builds unbootable. I don't understand why. Maybe a freeldr guru knows that?
svn path=/trunk/; revision=70687
- Make BmMain stdcall as it's an entry point, the same way as ROSLOAD's OslMain.
[ROSLOAD]
- Fix a comment.
- Fix compilation on x64 and on GCC by specifying the entrypoint stack, exactly as what we do for KiSystemStartup in the kernel.
svn path=/trunk/; revision=70686
- Move the NTOS loader files that were scattered in many places into their own directory (now all that stuff is inside freeldr/windows).
- Split arch/arm/winldr.c into the real winldr code (going into freeldr/windows) and entry point code (going into arch/arm/entry.c).
svn path=/trunk/; revision=70683
Replace old bugzilla report IDs to their JIRA counterparts.
[LIBUSB]
The third parameter of IoRegisterDeviceInterface is a pointer (optional). Use NULL instead of 0.
svn path=/trunk/; revision=70680
- Initialize global variables to known default values.
- When Inbv initializes the display, reset the video mode *ONLY* if we do not have a custom boot logo (because otherwise we want to see our custom boot logo!). This also fixes the video mode used by ReactOS when booting it using Windows ntldr!
svn path=/trunk/; revision=70678
- Use defines instead of hardcoded values for partition type IDs.
- Add some support for installing ReactOS on EXT2 partitions.
- Add few code that will be needed when we support NTFS installation.
- Refactor InstallFatBootcodeToPartition and its auxiliary functions. CORE-4870
svn path=/trunk/; revision=70675
Time to (re)act!
Step 2/2: continue Giannis' UNC hack in Shell32:
- Implement the ILCreateFromNetworkPlaceW() helper, which is just Giannis' code to allow creating a hacky PIDL for enumeration.
- Implement the CNetFolderEnum class, which allows enumerating network places. So far, it's pretty basic (no tree structure) but, it does its job. It would be to improve
- Implement the CNetFolder::EnumObjects() function.
This commit, in itself, more or less obsoletes hackssign application. Indeed, now, you just need to go to your network places, to be able to browse your network shares (like VMware or VBox shares) provided you installed the VMware/VBox additions in your VM.
However, hackssign will remains in rosapps for now: we don't have any other way to assign a drive letter to a network place so far, and VMware doesn't provide such feature.
Furthermore, this is a big hack. And until we have a correct implementation, we can keep another hack along ;-).
Feel free to decently enjoy your network shares in ReactOS :-).
CORE-10032
ROSAPPS-303
svn path=/trunk/; revision=70671
Time to (re)act!
Step 1/2:
- Implement WNetUseConnectionA() as a simple forwarder to WNetUseConnectionW().
This function should make it somehow, somewhen to Wine. Feel free to help the process by lighting cierges.
- Halplement WNetUseConnectionW() to match a really specific case: it can handle requests from VBoxTray and pass them properly to VBox NP.
In its current state, this function isn't to be shared with Wine.
Other calls (specifically without local path, nor network provider) aren't handled and will lead to an error.
But, in itself, this commit obsoletes rosvboxmgmt by making ReactOS able to autostart (on VBoxTray demand :-)) the VBox shared folders.
Furthermore, if you ask for a drive letter to be assigned to your shared folder, it will happen!
Now, in order to use VBox shared folders, just configure VBox to assign them a drive letter, install ReactOS, install VBox Guest Additions... Profit!
CORE-10032
ROSAPPS-303
svn path=/trunk/; revision=70670
- Fix a typo in kernel32's manifest prober routine
- Don't RtlGetActiveActivationContext if it's already existing
- Improve actctx and ldr debug prints
- This fixes numerous LDR bugs, such as the famous bug with MSVCR90 CORE-7313, .NET installation issues CORE-7489 and, hopefully, many other. Thank you very much for putting your trust in me!
svn path=/trunk/; revision=70646
Import Wine commit:
- 80eb2fa08eb21ba9504438493fa66097ed03faf5, Add support for REG_EXPAND_SZ for providers path.
This fixes VMware network provider (vmhgfs.dll) not being able to be loaded in ReactOS.
CORE-10032
svn path=/trunk/; revision=70645
- Remove the code that hides the system menu and the cancel button. Users should be able to cancel the installation process.
- Add code to reboot ReactOS after completing or cancelling the wizard. It is disabled for now.
- Remove the groupbox on the device page.
- Resize / realign the controls on the drive page.
- Replace the listbox on the drive page by a list view.
svn path=/trunk/; revision=70643
- Fix height of the inner wizard pages.
- Do not show the header for the finish page.
- Remove the language selection page and the ReactOS logo because they have been moved to userinit.
- Start removing groupbox controls from the wizard pages. They just occupy a lot of space.
- Resize / realign the install type page and add some descriptive text to all languages.
- Allocate setup data from the heap and pass the setup data pointer to each wizard page.
- Move the drive wizard page (DriveDlgProc) to a separate file.
- Move the common declarations to a new header file.
svn path=/trunk/; revision=70638
[BOOTLIB]: Implement most of ImgpLoadPEImage. The checksum of the mapped image file matches the checksum in the flat PE file, meaning our load loop works as designed.
Next step are relocations and we'll be done.
svn path=/trunk/; revision=70632
[BOOTMGR/BOOTLIB]: Fix factorings that were incorrect but not noticed when bootmgr was the only bootlib user. Now with rosload in the picture, they became obvious.
[EFISYS]: BCD should not be on the EFISYS.BIN, only on the boot volume, just like a Windows DVD.
svn path=/trunk/; revision=70626
[BOOTMGR]: Stub support for boot errors.
[BOOTMGR]: Stubplement support for device creation for boot applications (only for fully specified devices)
[BOOTMGR]: Implement support for execution transfer, including recovery mode/sequence.
[BOOTMGR]: Implement support for launching a boot entry.
[BOOTLIB]: Support for EFI Firmware device enumeration, driver attachment, and comparison.
[BOOTLIB]: Support for appending BOOLEAN or INTEGER BCD options.
Next step is the PE loader.
svn path=/trunk/; revision=70618