- Attempt to speed up loading and displaying logs in EnumEventsThread:
- Rewriting the code fix an infinite loop that could happen under low memory conditions (this potentially speeds things up quite a lot).
- Remove ListView subclassing - sorry Hermès but not only it keeps constantly redrawing under Windows but also adds too much overhead.
- Don't read the event log records one by one but in chunks of roughly 0x7ffff bytes (maximum size allowed).
- Use poor man's "caching" of the event user name (optimizing/caching rest of the stuff in the loop didn't yield any significant speed up).
Result: Loading ~40000 records under Win7 went from 4.5 minutes to 65 seconds.
svn path=/trunk/; revision=73749
[BOOTLIB]: Implement MmPapAllocatePagesInRange when virtual memory is being enabled.
What's left now is implementing extension for the PA allocator when VM is enabled.
svn path=/trunk/; revision=73742
- Fix some DPRINTs;
- Add parameter validation in CreateUserProfileExW;
- Return the directory path of the created profile in CreateUserProfileExW, if the user wants it;
- Add value type validation for RegQueryValueExW calls;
- Use ARRAYSIZE where needed;
- Add parameter validation in GetAllUsersProfileDirectoryA, GetDefaultUserProfileDirectoryA;
- Correctly return error code in GetAllUsersProfileDirectoryW, GetDefaultUserProfileDirectoryW, GetProfilesDirectoryW and GetUserProfileDirectoryW. Should fix the userenv_apitest:GetProfileDirs tests.
svn path=/trunk/; revision=73737
[BOOTLIB]: Implement Mmx86MapInitStructure and most of Mmx86InitializeMemoryMap.
[BOOTLIB]: Continue implementation of MmDefInitializeTranslation.
[BOOTLIB]: More explicitly mark paths which are not yet implemented for paging mode yet (but only on compilers that don't give compiler errors when trying to use __FUNCTION__.
svn path=/trunk/; revision=73734
Take the volume label into account when comparing the FAT volumes in case of a verify.
This helps avoiding remounting every removable device on verify. Current hack is only kept for FATX volumes for now.
svn path=/trunk/; revision=73733
- Remove old file comment header (the code license is already present in COPYING in the main directory);
- Fix DPRINT;
- Use new-style annotations for exported APIs.
svn path=/trunk/; revision=73728
[SVCHOST][WINLOGON][LSASRV][SAMSRV]: Use the SDK-defined constant RPC_C_PROTSEQ_MAX_REQS_DEFAULT instead of hardcoding its value in the RpcServerUseProtseqEpW calls.
svn path=/trunk/; revision=73726
[BOOTLIB]: Implement EfiAllocatePages, EfiFreePages for Protected Mode.
[BOOTLIB]: Fix a "Todo" in MmFwGetMemoryMap: We now free the EFI buffer used for the memory map itself, and unmap it from the memory map (which would show it as 'in-use' while we're dumping it).
svn path=/trunk/; revision=73722
[BOOTLIB]: Hack EfiPrintf temporarily so we can get print outs even in "Protected mode".
[ROSLOAD]: Begin implementation. First, many bootlib fixes needed.
svn path=/trunk/; revision=73720
[BOOTLIB]: Fix bug in MmMdFindDescriptorFromMdl.
[BOOTLIB]: Implement MmFwFreePages.
[BOOTLIB]: Implement most of MmPapFreePhysicalPages. The rest is coming next.
[BOOTMGR]: Add test for alloc/free.
svn path=/trunk/; revision=73716
- Modify the VfatHasFileSystem() so that it allows a DO_VERIFY_VOLUME override, when required
- Fix the implementation of VfatVerify() so that it actually really does the job it's supposed to do:
- it will now use the appropriate DO for verification (lower DO and not volume DO)
- it will properly clear the DO_VERIFY_VOLUME flag
- Introduce a hack in VfatVerify() so that in case of removal media, if FATInfo is the same, it forces a dismount
Effects of this commit:
- It properly fixes CORE-9988. That means if a FAT media changes, now FastFAT properly handles it, and does not go to a code path producing (expected!) BSODs
- The hack introduces a hacky way to make ReactOS remount FAT floppies when changed
In short, changing FAT floppy in ReactOS doesn't make it BSOD any longer.
CORE-9988
svn path=/trunk/; revision=73709
- Don't fall through to the default label. CID 515166
[NTUSER]
- Fix a copypasta.
[USER32]
- Fix computing of HKL for layouts with Layout id.
- Don't call NtUserLoadKeyboardLayoutEx with bogus keyboard layout id.
- Ideally LoadKeyboardLayout should return the default system layout on failure - to be continued.
svn path=/trunk/; revision=73708
-CExplorerBand: Commit the last part of the work submitted by Sylvain Deverre. Sorry for not committing all this time. Unfortunately some parts were changed and some parts don't work well and we need to debug it a bit.
CORE-10838
svn path=/trunk/; revision=73706