- 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