- Add support for reading the hosts file
- Fix an off-by-one error which prevented reading the last value in the services file
- Fixes bug 4410 and bug 4880
svn path=/trunk/; revision=47020
- Use newinflib instead of inflib.
- Add RegDeleteKeyW stub.
- Convert registry generation code from ANSI APIs to UNICODE APIs.
ATTENTION: This commit might break the build bot because it was not tested on a Linux system.
svn path=/trunk/; revision=47019
Add a UNICODE-aware version of the inflib library.
It is not used by other components yet but usetup and mkhive will use it in the future.
ATTENTION: This commit might break the build bot because I could not test a build on a Linux system.
svn path=/trunk/; revision=47016
- Create a modeless syssetup dialog so we can explicitly ignore intermediate WM_CLOSE messages (modal property sheets handle them automatically)
See issue #4960 for more details.
svn path=/trunk/; revision=47011
- Save DHCP and DNS settings from the basic TCP/IP panel independently of each other
See issue #5193 for more details.
svn path=/trunk/; revision=47010
- Improve the DNS data exchange between the basic IP settings and the advanced DNS panel
- Simplify LaunchAdvancedTcpipSettings
svn path=/trunk/; revision=47009
- Load all LAN status icons with the same size
- Only set the status icon if the icon occurred, don't set NULL icons (properties of LAN adapter window)
See issue #3813 for more details.
svn path=/trunk/; revision=47006
- Add a stub for IRP_MN_REMOVE_DEVICE in PnpRoot
- Revert 2 incorrect changes from r46983 (DNF_ENUMERATED added to the DNF_ADDED assertion and setting the DNF_RESOURCE_REPORTED flag in IopStartDevice2)
- Set the DNF_LEGACY_DRIVER flag if the AddDevice handler is missing
- Add a helper function called IopSendRemoveDevice which sends IRP_MN_REMOVE_DEVICE to a device object
- Call IopSendRemoveDevice if IRP_MN_START_DEVICE fails
- Set the DNF_STARTED and DNF_ADDED flags for legacy drivers
- Enable the DNF_ADDED assertion in IopStartDevice2
svn path=/trunk/; revision=46997
- Forward IRPs to our PDO instead of just completing them
- Handle IRP_MN_START_DEVICE on the way back up the stack (allows the PDO code to assign resources to the bus)
- Add some synchronous IRP forwarding copied from i8042prt
svn path=/trunk/; revision=46996
- Don't assign an uninitialized custom filter buffer to the OPENFILENAME structure, clean up commented out code
- Allows standard file type filters to show up
See issue #5307 for more details.
svn path=/trunk/; revision=46992
[NTOS]: Implement and call MiLocateKernelSections. Pool code and paging paths will require this information later. Loader work done for now.
svn path=/trunk/; revision=46989
[NTOS]: MmCheckSystemImage: Check for 32-bit/64-bit image/OS mismatch.
[NTOS]: MmCheckSystemImage: Return invalid checksum if couldn't get the NT header from the image.
[NTOS]: MmCheckSystemImage: Map images as SEC_IMAGE instead of SEC_COMMIT, and simply read the size off that way.
svn path=/trunk/; revision=46988
[NTOS]: Use MM_SYSLDR_ defines instead of magic pointer casts. Use appropriate pool tags.
[NTOS]: Set the LoadedImport count early-on during image referencing, so that failure will correctly de-reference the imports. By setting it to zero, failures would've leaked driver-dependent DLLs already loaded but now useless.
[NTOS]: Do the same checks as Windows to avoid drivers linked with user-mode DLLs.
[NTOS]: Allow "coverage" and "irt" to be linked with Win32K drivers as well.
[NTOS]: When the linker is fixed not to generate corrupt drivers, add the appropriate code to scan IMAGE_DIRECTORY_ENTRY_IAT for updating thunks. A hack exists in ReactOS now to permit loading these hacked drivers, but Windows is not so generous and will crash with a ReactOS driver.
svn path=/trunk/; revision=46987
- Call DC_vPrepareDCsForBlit in IntRectangle with device coordinates instead of in NtGdiRectangle with logical coordinates. Fixes updating mouse pointer.
- Update TODO.txt
svn path=/branches/reactos-yarotows/; revision=46986
- Replace the broken CM_RESOURCE_LIST_SIZE with a better function that actually works with resource lists that have device-specific data in them (fixes missing device specific data when resources are retrieved with IoGetDeviceProperty)
- Separate the resource code out of pnpmgr.c and into pnpres.c
- Simplify resource assigning to simply calling one function, IopAssignDeviceResources, which takes care of the registry configuration, translation, etc.
- Set the DNF_NEED_ENUMERATION_ONLY flag only AFTER the device is actually started not before
- Set DNF_START_FAILED if IRP_MN_START_DEVICE fails
- Fix a bug in IoReportDetectedDevice that wrote the AllocConfig value to wrong place
svn path=/trunk/; revision=46983
- Use the attached surface bits depth when creating a compatible DC
[USER32]
- use a display DC for loading images
svn path=/branches/reactos-yarotows/; revision=46981
Update text and background brush properly. Fixes wrong colors in radio buttons in Firefox. Fix by Jerome Gardou.
See issue #5311 for more details.
svn path=/trunk/; revision=46980
[NTOS]: Call MiEnablePagingOfDriver from MmLoadSystemImage and implement it. All the work is done other than actually enabling paging, which requires system working set support.
[NTOS]: Implement MiWriteProtectSystemImage and MiComputeDriverProtection. All the work is done other than actually setting the bits on the pages, since I wanted to avoid too many changes.
[NTOS]: MmCheckSystemImage returns STATUS_INVALID_IMAGE_PROTECT, not STATUS_INVALID_IMAGE_FORMAT, so the branch in MmLoadSystemImage needs to check for the correct status code.
[NTOS]: Support FLG_SHOW_LDR_SNAPS for the kernel loader.
svn path=/trunk/; revision=46977
- move IntEngMovePointer code into GreMovePointer
- Delete the mouse cursor before mode switch, to force setting a new one after a mode switch. Fixes cursor artifacts after mode change.
- Update TODO.txt
svn path=/branches/reactos-yarotows/; revision=46976
- Remove an ASSERT in DC_Cleanup
- Improve code in PDEVOBJ_vSwitchPdev (code shamelessly stolen from Jerome's earlier commit)
- Fix up GDIINFO in PDEVOBJ_bEnablePDEV instead of EngpCreatePDEV
- Update TODO.txt
svn path=/branches/reactos-yarotows/; revision=46975
[NTOS]: Minimal stubbed support for some large page functionality in case it gets implemented later and these things would've been ignored. One critical change is that now the MmProcessList is initialized, and the system process is added to it. Other processes should be added later.
[NTOS]: Add stubbed support for parsing the registry list of drivers that should have large pages enabled.
[NTOS]: Initialize the loaded module list before working set work.
[NTOS]: Reload the boot drivers much earlier, as part of ARM3 initialization.
[NTOS]: Start doing some minor MmResidentAvailablePages accounting during bootup.
[NTOS]: Start doing the math required for computing the appropriate MmSystemCacheWsMinimum on the booting system (based on RAM).
[NTOS]: Now that we use the HAL heap, add the code to scan it for I/O mappings. These are dangerous because we need to sync up caching attributes (not yet used in ReactOS, so not a problem for now).
[NTOS]: Add more header definitions, and helper definitions such as PDE_MAPPED_VA instead of doing the math by hand.
[NTOS]: Move MmPageEntireDriver and MmResetDriverPaging to sysldr.c since drvmgmt.c is more for Driver Verifier-style functionality.
svn path=/trunk/; revision=46971
- revert unwanted change from r46964
- Use MouseSafetyOnDrawStart/End in GreExtTextOutW when we already hold the blit lock
svn path=/branches/reactos-yarotows/; revision=46969
- Revert r46960 : the correct way to go is to mark brushes as dirty and update them where needed
- Do so in GreExtTextOutW, NtGdiBitBlt, NtGdiStrecthBltMask and IntPatBlt
- Add a small hack to GreEstTextOutW so we hold the Blit lock when needed without too much pain.
svn path=/branches/reactos-yarotows/; revision=46964
- Dmitry Timoshkov : Do not ask DrawFrameControl() to modify the passed in rectangle.
- Nikolay Sivov : Set WM_EXITMENULOOP wParam same way as for WM_ENTERMENULOOP.
svn path=/trunk/; revision=46961
- Export Wow64* functions in kernel32, because 32bit Windows also exports them.
- Sync ole32, oleaut32 with Wine-1.1.43.
svn path=/trunk/; revision=46959