- load treeview classes on startup
- link to dinput8 + dxguid library
- start implementing DirectInput dialog
- use DirectInput version 8 for now
svn path=/trunk/; revision=33121
C_ASSERT is equivalent to a typedef, NOT a variable declaration
modified ntoskrnl/mm/pe.c
Convert as many ASSERTs as possible to C_ASSERT
svn path=/trunk/; revision=33117
- CDFS should enter a critical region before acquiring a resource.
- "Fix" resource assert during installation by adding some padding at the end of the VFAT FCB header -- corruption happens at pad 51.
- Once we detect corruption at pad 51, skip the FCB instead of attempting to flush it.
- Fix a serious bug in our detection of incorrect resource usage while APCs are not disabled.
- Fix a serious bug which caused shared resources not to wake up waiters when it was released, and which cause it to wake up waiters when there were still active locks held.
New ERESOURCE implementation by Aleksey (thanks to Alex for providing the information required)
- Remove ERESOURCE_XP concept, and fix the three incorrect and different definitions of the ERESOURCE structure.
- Fix the ERESOURCE implementation to use the new Vista ERESOURCE type. Two main changes:
* The count is now a 32-bit count called ActiveEntries. ActiveCount is now simply a flip-flop bit (0/1) for backward compatibility (we set to 0 when active entries is 0, and 1 when active entries is > 0)
* Instead of caching two owners, we only cache one owner, in the OwnerEntry field.
- Optimize some search algorithms slightly (just better code).
- Remove duplicated code for ExReleaseResourceLite and call ExReleaseResourceForThreadLite instead. Alex says this is ok.
svn path=/trunk/; revision=33111
- Don't keep track of the page table reference count table in the address space structure, nobody was using this.
- Instead of using either a global kernel pushlock for the kernel address space, and a per-process lock for process address space, always use a per-process lock (the kernel address space uses the idle process' lock).
- Instead of acquiring/releasing the lock by dereferencing the process which owns the address space, hold a pointer to the lock directly. This removes an extra dereference, and also allows the kernel lock to work (because kernel address space doesn't have an associated process).
- Inline the lock acquisition/release functions and the get-address-space functions.
- Measured a 20% performance boost during boot-up, and 150% during installation.
- Patch by Alex.
svn path=/trunk/; revision=33092
- fix length check in PNP_GetClassName
- allocate device id string dynamically in to avoid a potential buffer overflow
- use lstrlenW over wcslen in PnpEventThread
svn path=/trunk/; revision=33088
Bugfix : the load order, it try loading vista dxkrnl.sys frist then it try loading dxg.System
rember I have not tested vista dxkrnl.sys in reactos at all yet.
Bugfix :
thx piggworth for notice the hDev was never resive to DxEngLockHdev, it still does not do in some case.
we need more invigaste why
svn path=/trunk/; revision=33084
- Use the last possible ID for this command, so we can add as many keyboard layouts as possible to the popup menu
- Send a WM_CLOSE message when clicking "Exit", don't duplicate the WM_DESTROY code here
svn path=/trunk/; revision=33079
- Handle keyboard layout substitutes (like the "German (IBM)" layout)
- Refactor many parts of the code:
* Always close hKey handles after they were successfully opened
* Build the keyboard layout menu one time and not everytime, when it's opened
* Use smaller sizes for some string variables, defined with CCH_LAYOUT_ID and CCH_ULONG_DEC.
This also ensures that we don't retrieve bigger values, which would be invalid.
- Use a consistent indentation
svn path=/trunk/; revision=33062
Updated README.WINE
- Added atl.dll, pdh.dll, rasapi32, rasdlg, stdole2.tlb, tapi32, usp10, winhttp
All of these are from wine. I called them Out of sync now. Change the way you want.
svn path=/trunk/; revision=33061