ScsiPortConvertPhysicalAddressToUlong takes an ULONG_PTR as input, fix function accordingly and do the "calculation" directly instead of calling RtlConvertUlongToLargeInteger
Spotted by Samuel.
svn path=/trunk/; revision=50089
Actually, code was correct, but ugly (who said "normal, that's a hack).
So, when that code is called from SetupLDR, KeyHandle is required to be to 1. This what code does. Thing we do in the if condition when it appears we are called from SetupLDR.
To avoid any further question, or warning, adding more parenthesis to show that we know what we do.
So, to sum up, there's no comparaison for KeyHandle
svn path=/trunk/; revision=50083
- DisplayDevicePropertyText: Use full DWORD value, not just one byte of it (CID 1803).
[WINMM]
- MCI_Close: Use UINT instead of UINT16 for the device id (CID 1804).
svn path=/trunk/; revision=50080
- ConvertStringSidToSidW: Stop writing 1 subauthority too much. Fixes a DWORD sized buffer overflow. Should fix bug #5764.
- ConvertStringSidToSidW: Don't leak an allocated SID in case of failure.
[SETUPAPI]
- SetupDiClassNameFromGuidExW: Rewrite to prevent a buffer overflow and pass additional winetests. Should fix bug #5474.
- SetupDiClassNameFromGuidExA: Return the required buffer size in failure cases.
svn path=/trunk/; revision=50066
- Use an actual entrypoint. Needed to record the instance handle, used by various function that access resources of the module. Should fix oleacc:main winetest.
svn path=/trunk/; revision=50064
- Update to Wine-1.3.9.
- Important note: Syntax of widl invocation changed slightly, so take this into account when merging to cmake branch.
svn path=/trunk/; revision=50063
- Finish 50030 (work by Giannis), Now PostMessage passes all the correct data based on Get/PeekMessage. Example: Post A, Get/Peek A, Translate A, Dispatch A, should be that simple. FYI: DDE memory handling should be in win32k not user32 and why,,,,, ~see next point~
- Patch up problems (at a minimum) going into the SendMessage/Timeout A2U U2A support in win32k and fixed SMTO callback if local.
svn path=/trunk/; revision=50047
- Roel Messiant: Fix NtQueryObject to return the required buffer size if the buffer provided was too small. Unimplemented paths behaviour is preserved.
svn path=/trunk/; revision=50032
- Roel Messiant: Specify proper byte length of a unicode string. Fixes out of bounds access in actctx.c support code. No more half-cut active context stuff in debug logs.
svn path=/trunk/; revision=50031
- Use the new version of NtUserGetMessage and NtUserPeekMessage written by Jim. It is possible to use them now because GetMessage and PeekMessage don't return messages that contain pointers. As a result they don't need to do any extra work to copy the message to user mode. All messages that contain pointers are sent messages and this means that they don't get into the message loop. Instead they are passed directly to the window proc.
- DispatchMessage works only if the target window belongs to the current thread. This lets us remove uneeded copies of lparam to user mode.
[user32]
- Remove a bunch of uneeded code in GetMessage and PeekMessage that copyied the lparam in a new buffer and did unicode to ansi convertions. It is not needed because they don't receive messages with pointers any more
svn path=/trunk/; revision=50030
- Add GDIINFO from NT4 VGA DDK sample driver
- Set 4BPP prefer DIB format
- No graphics caps set for VGA driver
- Put static palette/color buffer for when VGA IOCTL send later
- Convert almost done, bInitSURF is last
svn path=/trunk/; revision=50029
- Replace the framebuf_new spec rc rbuild with vga_new spec rc rbuild
- Delete pointer.c
- Start make changes, driver.h new fields for VGA, change driver short/long name/tag, add macros and in enable.c remove hw pointer support
svn path=/trunk/; revision=50026
Rewritten FsRtlIsDbcsInExpression() using FsRtlIsNameInExpression() pattern.
This fixes all failing tests from kmtest.sys and make this function definitely tastier to MS fastfat.sys
svn path=/trunk/; revision=50021
- Time has come to get rid of a slightly modified implementation of WINE's heap, which is a hack based on Windows 95's heap implementation, itself a hack of DOS memory management. It supported 3 out of the 18 possible NT Heap Flags, did not support custom allocation/deallocation routines, and was about 50-80x slower with fragmentation rates up to 500x higher when compared to NT's LFH (WINE is lucky because the advanced NT Heap features are used in kernel-mode usually, not in user-mode, and they are crossing their fingers for this being the same). Several high-end SQL/Database applications would significantly benefit from custom heap features provided by NT. Not to say about removing crappy support for a custom Commit routine and crappy support for User-defined flags and the User-defined value.
- So, the glorious moment for a new heap manager, which is (to remind you) a totally new heap manager, resembling real NT heap manager, based on data structures similar to Windows 2003 and Vista+'s heap structures, supporting advanced heap flags (e.g. useful for debugging), having substantially lower fragmentation rates (and thus speed and reliability), having native support for user-defined flags and user-defined values, also native support for a custom commit routine, which is very important for trunk's win32 subsystem. It also reserves, commits, decommits and frees memory on the fly, unlike existing heap manager which prefers to reserve and commit as much as possible, and doesn't decommit when it's no longer necessary. Not to say about support for per process heaps, with a proper lock, and a further support for a special so-called debug heap allocator (to be implemented in heapdbg.c) which will be useful for finding heap corruptions.
Yeah, I'm not a fun person :D
svn path=/trunk/; revision=50000