- Use newinflib instead of inflib.
- Pass the user-selected language to the inf parser.
- Convert registry 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=47037
- Create a helper function named OpenRegistryHandlesFromSymbolicLink which opens handles to various paths associated with a symbolic link
- Store the Linked value in IoSetDeviceInterfaceState
- Implement checking if an interface is enabled by reading the Linked value
- Interfaces reported from IoGetDeviceInterfaces are only active ones now (unless the caller explicitly says that they want disabled ones too)
svn path=/trunk/; revision=47029
- Revert r46682
- The NULL terminator is not supposed to be included in the length
- Fixes corruption when printing the symbolic link
svn path=/trunk/; revision=47028
- Rewrite harderror handling.
The old code was a monster function, leaking memory, using ansi rather than unicode strings and not getting this right. It was also vulnerable to attacks, making csrss crash, when corrupt parameters were sent.
svn path=/trunk/; revision=47027
- 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
- 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