- CreateFileW: Pass CONIN$/CONOUT$ opens to OpenConsoleW.
- DuplicateConsoleHandle: Remove ProcessId from request structure, since console handles can only be duplicated in the calling process.
Don't check low bits of handle (Windows ignores them), but do check options and (if DUPLICATE_SAME_ACCESS is not specified) access mode.
- OpenConsoleW: Make wsName parameter const; allow any combination of GENERIC_READ and GENERIC_WRITE, don't require both.
- CreateConsoleScreenBuffer: Add parameter checks; return INVALID_HANDLE_VALUE (not FALSE) on failure.
- Remove remnants of unnecessary handle in Get/SetConsoleTitle.
- CsrDuplicateHandle: Implement DUPLICATE_CLOSE_SOURCE and DUPLICATE_SAME_ACCESS options.
svn path=/trunk/; revision=34685
- Fix a few issues in the cancel routine
- Don't wait on an event we haven't set
- Don't mark the IRP pending when in DispPrepareIrpForCancel
svn path=/trunk/; revision=34682
- zero initialize buffer
- check return value of SHGetSpecialFolderPathW
- zeroize buffer in ISF_MyDocuments_fnGetDisplayNameOf
svn path=/trunk/; revision=34678
- We now correctly mount the boot partition, scan for system drivers (none yet), and attempt loading ntdll.
- This actually works -- meaning the RAMdisk driver is working perfectly with vfatfs.sys and providing a virtual drive.
- We crash during mapping ntdll.dll due to some Mm issues we need to work out.
- Yes, we're almost at user-mode.
svn path=/trunk/; revision=34675
- Calculate number of cylinders too now.
- Save number of hidden sectors as well.
- Implement support for IOCTL_DISK_GET_PARTITION_INFO (RamdiskGetPartitionInfo).
- Implement support for IOCTL_DISK_GET_DRIVE_GEOMETRY (shared with IOCTL_CDROM_GET_GEOMETRY, IOCTL_STORAGE_GET_MEDIA_TYPES and IOCTL_DISK_GET_MEDIA_TYPES)
- DiskLength should be a LARGE_INTEGER.
- DiskOffset should be signed.
svn path=/trunk/; revision=34666
- Try to implement RamdiskMapPages for boot disks as it seems we're calling them now...
- The math works and the I/O mapping too, but I'm not sure we're reading correct data, so still left this unimplemented for now.
svn path=/trunk/; revision=34659
- Defined some proper constants (somewhat based on guesses, but should be mostly correct) for the DiskType.
- Now the code actually makes sense, instead of talking about CD-ROM File Systems and CD-ROMs everywhere (and Controllers and...floppies?!)
svn path=/trunk/; revision=34657
- In the future, please refer to other code which loops the current processors and gets their KPRCB before attempting a half-assed implementation. KiProcessorBlock should be used.
svn path=/trunk/; revision=34656
- Load vfatfs instead of CDFS.
- Implement code in the ramdisk driver to handle both ISO and FAT ramdisks. Don't know what the big deal with support ISO ramdisks was supposed to be, when our ramdisk is FAT, and dealing with FAT is a lot easier than CDFS (no TOC emulation and other rubbish that was added).
svn path=/trunk/; revision=34655
- Make CsrGetObject increment the ref count to prevent objects from being deleted while in use. Add CsrReleaseObjectByPointer calls where necessary.
svn path=/trunk/; revision=34652
- Optimize and simplify trap handling by using a common exit just like on x86's Kei386EoiHelper - KiExceptionExit. This way the code isn't duplicated 6 times.
- Do the same for system calls (KiServiceExit).
- Save the previous trap frame and restore it during each system call.
svn path=/trunk/; revision=34640
- Invalid parameter error is returned if requested memory area is located above USER_SHARED_DATA address (0x7FFE0000) (WinXP compatible).
- Access violation error is returned if existing memory area found on requested address and this area have uninitialized region list.
See issue #3467 for more details.
svn path=/trunk/; revision=34630
- Call DbgBreakPoint() only for main thread. It fixes debugging of multithreaded apps.
- Prevent BSOD if ObReferenceObjectByHandle failed in NtGetContextThread and NtSetContextThread.
See issue #3535 for more details.
svn path=/trunk/; revision=34628
- Fix compilation of a number of modules.
- Delete outdated fmifs.h, the one from ReactOS includes should be used instead.
- Move more libs to /lib directory.
svn path=/trunk/; revision=34627