- 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
it does not longer crash at DdDeleteDirectDrawObject for it never been call longer to dxg.sys until I figout why
take DxEngLockShareSem and DxEngUnLockShareSem offline need more invigaste how it is done in windows.
take DxGdiDdGetScanLine offline for now so it does not crash dxg.sys
svn path=/trunk/; revision=33054
- build a custom function GetRegValue to allow dxdiag be used on older Windows versions
- try to fix potential buffer overflows
svn path=/trunk/; revision=33050