- Fix logic error in LdrpInit that caused us to busy-wait instead of sleep. This makes LibreOffice start up in a few seconds instead of sitting around at 100% CPU for a minute or two.
CORE-13268 #resolve
svn path=/trunk/; revision=74600
- Do not change RTL_HANDLE_TABLE::CommittedHandles when committing a new page of handle entries. This value must always point to the beginning of the allocation, to correctly track the entire committed range. Fixes LibreOffice Writer (and ntdll_apitest) crash.
CORE-13271 #resolve
svn path=/trunk/; revision=74599
- In SpiScanAdapter(), after an SCSI INQUIRY command has succeeded and we are setting up a LUN extension structure,
cache in its InquiryData member the inquiry data retrieved from the INQUIRY command (alternatively we might just cache
a pointer to a valid "LunInfo" since the latter are also cached elsewhere).
- This allows SpiBuildDeviceMap(), which is called just after SpiScanAdapter(), to correctly report in the registry SCSI tree
the correct Identifier and DeviceType values for the enumerated logical units.
- Use ExFreePoolWithTag in SpiScanAdapter().
svn path=/trunk/; revision=74597
- In SpiSendInquiry():
* use ExFreePoolWithTag;
* if IoBuildDeviceIoControlRequest() fails, exit correctly the loop so that the allocated buffers are cleaned up;
- In SpiBuildDeviceMap():
* support new peripheral type names, as documented in the links in the comments;
* fix the "CommunicationsPeripheral" name (communication'S') as documented, and as done in windows' scsiport driver.
svn path=/trunk/; revision=74595
- 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