Don't bugcheck on unimplemented FsRtlOplockFsctrl(), FsRtlCurrentBatchOplock(), FsRtlCheckOplock()
Properly implement FsRtlInitializeOplock() (which is no-op on Windows 2k3)
CORE-10284 #resolve #comment Resolved with r69412
svn path=/trunk/; revision=69412
- Add floppy image automount support from the registry, as it was done for HDDs in r69390 (it's really copy-paste & adaptation of the existing code).
- Increase HDD number support from 1 to 4 (maximum) for INT 13h.
svn path=/trunk/; revision=69411
- Don't support IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX for now
- Properly implement IRP completion for IOCTL_DISK_GET_LENGTH_INFO, IOCTL_DISK_GET_DRIVE_GEOMETRY
svn path=/trunk/; revision=69409
Fix a division-by-zero problem by storing the mouse driver's Width and Height
in DWORDs, thus avoiding the integer overflow which could make them zero.
svn path=/trunk/; revision=69408
- Always use the descriptor type, and never the limit, to identify
legacy vs. modern TSSes.
- Don't forget to write back the modified TSS link.
svn path=/trunk/; revision=69407
Read global settings from the register (in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NTVDM ; note that this is a ReactOS-only configuration key, because no equivalent functionality exists on windows), and currently initialize:
- the BIOS and ROM files to be used;
- the hard disks to be mounted at startup (they cannot be unmounted at runtime, contrary to the floppies) (maximum 4 hard disks).
svn path=/trunk/; revision=69390
Major bugfixing session for RtlGenerate8dot3Name()... Up to know, AllowExtendedCharacters was totally ignored and any upcased char, as long as it was not in the forbidden list was accepted. This was bringing numerous problems (cf: apitest :-)).
So, now, the following fixes were brought:
- AllowExtendedCharacters isn't ignored any longer. If it's given, the unicode char is upcased, if it's not, as previously, the ansi char is upcased
- Be more strict in the allowed chars in name: only allow "graph" chars. This avoids generating broken names that aren't allowed in FAT
- In case no char could be added in the name, then, for the generation of the name checksum and use it as shortname
- When writing the checksum, don't use reversed order, but direct order, to match Windows behavior (as exposed with tests)
- When writing the checksum, use when possible bit operations instead of numerical operations for performances reasons (NFC)
- Rewrite RtlpGetCheckSum() with an algorithm that produces the exact same checksums than Windows 2003.
This whole commit fixes all apitests related (direct visible effect). As a bonus, it also fixes short names generation in FAT: we no longer produce broken volumes with international file names.
This also fixes less visible issues: we were producing unicode strings with null char in their middle (as exposed in tests), not sure about how all functions could handle this: likely not that good, this could have lead to various memory issues & corruptions.
CORE-10223 #resolve #comment Fixed with r69389
svn path=/trunk/; revision=69389
Add more tests for RtlGenerate8dot3Name().
Not sure how many more are failing in ReactOS: they all pass in my WC (teasing :-))
CORE-10223
svn path=/trunk/; revision=69388
- Start implementing a user menu for mounting/unmounting floppy disks at runtime. Menu state refresh & proper localization remain to be done.
- Add a temporary "Sleep(INFINITE)" where the VdmShutdown function is susceptible to trigger again a VDM cleanup in case it was called again in parallel. For diagnosing CORE-10182, see also r69366.
svn path=/trunk/; revision=69375
- Don't duplicate the code for getting the name of a drive. CDrivesFolder already does it (and it does it better). Make the drive properties call it to get the name it needs.
CORE-10258
svn path=/trunk/; revision=69373
- Improve a change from r27016. Running the control panel applets in the context of explorer is not correct. We should really use ShellExecute here.
svn path=/trunk/; revision=69370
- Fix SH_ParseGuidDisplayName which was completely broken when I committed it.
- Use GUIDFromStringW instead of SHCLSIDFromStringW in _ILCreateGuidFromStrW. The latter needs the string to terminate right after the guid.
svn path=/trunk/; revision=69369
Add basic disk support with mounting/unmounting images in NTVDM:
- basic disk controller (at the moment this is just a collection of helper functions. A real HW emulation will come later on).
- INT 13h services for the BIOS.
At the moment, the images to be mounted are hardcoded in disk.c. Please see disk.c for examples of how to use the function. This will be reworked to allow user choice without having to recompile NTVDM.
CORE-10262 #resolve
svn path=/trunk/; revision=69365