ob_x.h: Add a proper define for the size of a lookaside name buffer
oblink.c: Use move memory rather than copy in the case that we re-use the name
buffer. We probably never reused it before, because MaximumLength was never
set properly. See below.
oblife.c: Several things
ObpCaptureObjectName
- Properly set MaximumLength rather than copping out and setting it to just
string + nul. This was dangerous because later, we'll use MaximumLength
to determine whether we allocated the name from the lookaside list or the
heap.
- Since we use MaximumLength to determine where the allocation came from
make sure that MaximumLength never equals the magic value if the string
comes from the heap for whatever reason.
- Free the string using the right symmetry if we would fault copying.
ObpCaptureObjectCreateInformation
- We didn't allocate the ObjectCreateInfo, but we might've allocated the
security descriptor, so free it if needed, rather than borking some non
heap.
svn path=/trunk/; revision=34783
- Fix the logic so it really gives the last kernel address, as function name suggests. If you want to change the logic of the function, then rename it accordingly.
See issue #3507 for more details.
svn path=/trunk/; revision=34737
Memory DC "supports drawing operations on a bitmap" according to MSDN, so why changing device's palette? I think it was not done for a reason, and if you can't test, don't touch before you have a test application.
- Reformat another part of 24104, and include warning messages too, to track palette failures.
- Put two mandatory debug prints to see when the code is being hit (one to memory managed DC case, and another one to the code commented out by Jim).
- Tested with abiword, FF 1.5 and 2.0, openoffice 2.0 installer, in 8, 24 and 32 bit color modes, no problem arised, and no debug messages flood happened.
svn path=/trunk/; revision=34695
- OpenConsoleW: Fourth parameter is actually share mode (passing a number from 0 to 2 will usually give ERROR_SHARING_VIOLATION on Windows)
- CreateFileW: Move CONIN$/CONOUT$ handling after dwCreationDisposition checks (it must be valid, even though it doesn't matter which it is); pass FILE_SHARE_READ|FILE_SHARE_WRITE to OpenConsoleW (dwShareMode is ignored).
- CloseConsoleHandle, CsrReleaseObject, CsrVerifyObject: Remove IsConsoleHandle checks - Windows ignores lower 2 bits of handle for closing and verifying.
- SetConsoleMode: Remove IsConsoleHandle check - it's redundant, since the same check is done in CsrGetObject.
- CsrIsConsoleHandle, CsrReleaseObjectByPointer: Clean up a bit.
- CsrFreeConsole: Remove the process from the console's list.
svn path=/trunk/; revision=34694
- Tested with Opera 9.51(still breaks when getting the page see bug 3465), FF, Seamonkey, Abiword, and the rest of our applications.
svn path=/trunk/; revision=34691
- 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