Implement asynchronous reading from mailslot.
Patch by Nikita Pechenkin
Adjustements, style fixing by myself.
CORE-10245 #resolve #comment Modified patch committed with r69475. I have tested kernel32:mailslot and your provided test, both are passing 100%. Thanks!
svn path=/trunk/; revision=69475
- "Fix" SHChangeNotifyRegister to report file system changes. I am not really sure if these changes are correct but really make it work now.
CORE-1171
svn path=/trunk/; revision=69469
- Correctly handle NULL ppidl in EnumerateNext as required by Skip() callers
- Don't reenumerate NT directories every time EnumerateNext is called from Skip()
CORE-10311 #resolve
svn path=/trunk/; revision=69462
- Implement BiInitializeAndValidateHive, BiLoadHive. Leveraging our existing cmlib and the previously committed code, we are now able to read the BCD file, parse it as a registry hive, and lookup the BCD Objects subkey! The BCD Data Store is now available to the Boot Manager (which also validates that reading from ETFS works).
svn path=/trunk/; revision=69454
- The Objects key is in the root, not under Description.
[MKHIVE]:
- Make it *actually* build a BCD hive. It was doing nothing before, because it turns out that irrespective of what appear to be dynamic, command-line driven behavior modes, all of mkhive's logic is deeply tied together through C-level changes and knowledge. (for example, that's why calling it with a single .inf, it still wants to build 6 hives for you). There were also some copy/pasta bugs in the BCD handling code, now fixed.
svn path=/trunk/; revision=69453
- Fix multiple bugs in ETFS code (confusion between file offset vs. disk offset)
- Implement EtfsGetInformation, EtfsSetInformation, and fix ETFS_FILE definition to make this easy.
- Implement EtfsRead.
- Fix multiple bugs in file I/O code (swapped/reversed validation checks)
- Make BlStatusPrint call EfiPrintf on debug builds, even without BD.
- Add some additional error logging.
svn path=/trunk/; revision=69452
- Improve the internal locale storage. Replace the array of strings by a customized struct.
- Implement the locale customization properly. The customization property sheet modifies the internal locale storage rather than the registry. Now, cancelling changes works properly.
CORE-10074
svn path=/trunk/; revision=69449
- Whoever wrote mkhive ran into the problem I just did, and realized hey-i-dont-fucking-want-to-use-that-almost-copy-pasted-but-not-shared-code-so-why-dont-i-use-the-good-kernel-code-instead... but instead of taking the time to create a fucking library like I just did (cause that would be hard man, and fixing headers n' shit), just hard-coded the paths to the kernel files directly like a lazy shit. Fix mkhive to just rely on cmlib, which now has the files shared there.
svn path=/trunk/; revision=69445
- Move cmindex.c and cmname.c to cmlib, because bootmgr/winload use the kernel's cm implementation, unlike our freeldr which uses an almost copy-pasted-but-not-shared-because-hey-why-not-have-to-fix-the-bugs-in-two-places-instead-of-just-one implementation.
- Minor fixes to headers to allow those two files to be used/built outside of ntoskrnl.
svn path=/trunk/; revision=69444