- Implement OTD_NONCLIENT for OpenThemeDataEx and OpenThemeDataFromFile.
- Open the WINDOW or the SCROLLBAR theme classes only when needed. Use OpenThemeDataEx instead of the internal MSSTYLES_OpenThemeClass. Cache the open theme in the WND_DATA for later use.
svn path=/trunk/; revision=74592
- Add a rather messy header that I've been slowly building as I'm starting to understand the internals.
- Mostly taken from the MS PDBs and info gained from OSR and Alex Carp's blog. (https://fsfilters.blogspot.co.uk)
svn path=/trunk/; revision=74590
- Implement FltCreateCommunicationPort, FltCloseCommunicationPort, FltCloseClientPort, and stub FltSendMessage
- Add two new object types for the server port and client ports
- Implement object type callbacks for closing and deleting these new ports
- Create the comms object and create the symbolic link (FltMgrMsg) to allow usermode to open a handle to the comms layer (aka FilterConnectCommunicationPort)
- Although untested, the comms layer objects should be mostly setup, and we should be able to open a connection from usermode.
svn path=/trunk/; revision=74589
- Add custom draw function for the codepages listview.
- User gray text color for codepages that cannot be uninstalled.
CORE-13242
svn path=/trunk/; revision=74582
Advanced page: Show code pages again.
- Use SetupFindFirstLine and SetupFindNextLine to enumerate all code pages.
- Use heap memory functions instead of global memory functions.
- Get rid of TCHAR.
- Rename LPCPAGE to PCPAGE.
- Hack: Do not fail if EnumSystemCodePages returns FALSE.
svn path=/trunk/; revision=74555
[BOOTLIB]: Add support for protocol open/close/lookup while paging and protected mode is enabled.
[BOOTLIB]: Implement support for dozens of UEFI functions while under protected mode.
[BOOTLIB]: Fix bugs in existing UEFI functions which were switching to _protected_ mode instead of _real mode_ before making the UEFI call.
[BOOTLIB]: Free dynamic descriptor in MmMdFreeDescriptor.
[BOOTLIB]: Implement BlHtDelete.
[BOOTLIB]: Implement re-initialize-all path in DsppInitialize.
[BOOTLIB]: Fix small bug in BlDisplayInvalidateOemBitmap
[BOOTLIB]: Fix bigger bug in BlDisplayGetOemBitmap :)
svn path=/trunk/; revision=74546
[BOOTLIB]: Fix dumb bug in BlMmIsTranslationEnabled which would always return FALSE.
[BOOTLIB]: Fix dumber bug in MmDefInitializeTranslation which was freeing the page directories and self-map pages even in the success path. Causing us to zero out paging structures...
[BOOTLIB]: Cleanup and extend MmMdDbgDumpList for internal use, and add MmMdListPointerToName as another debug function.
[BOOTLIB]: Add a few more checkpoints in unimplemented paths.
svn path=/trunk/; revision=74545
[BOOTLIB]: Implement MmPaTruncateMemory and call it during paging initialization to remove > 4GB memory.c
[BOOTLIB]: Implement BlpMmInitializeConstraints if those BCD options are used.
svn path=/trunk/; revision=74542
- Only call mkhive once, as it always generates all 6 binary hives (and if you don't give it all inf files, some of the hives will end up empty).
- Remove no longer needed dependency of efisys on bcd_hive
CORE-13241
svn path=/trunk/; revision=74537
[BOOTLIB]: Fix a critical bug in BlpArchSwitchContext which was not switching to Firmware mode once paging was enabled.
[BOOTLIB]: Fix a critical bug in OslMain which was incorrectly setting BL_LIBRARY_INITIALIZATION_COMPLETED instead of BL_LIBRARY_FLAG_REINITIALIZE_ALL and causing all sorts of failure paths.
[BOOTLIB]: MmDefInitializeTranslation now turns on paging.
[BOOTLIB]: Implement TrpGenerateMappingTracker and BlpArchEnableTranslation
[BOOTLIB]: BlMmMapPhysicalAddressEx now works with paging enabled, and correctly finds mapped memory to use from the virtual MDLs.
[BOOTLIB]: MmPapAllocateRegionFromMdl now handles virtual allocations from MmMdlMappedUnallocated.
[BOOTLIB]: MmPapAllocatePagesInRange now handles BlMemoryKernelRange (KSEG0) allocations.
[BOOTLIB]: MmMdFindSatisfyingRegion now handles virtual descriptors as well, and handles alignment better.
svn path=/trunk/; revision=74519