Commit graph

68727 commits

Author SHA1 Message Date
Ged Murphy 48014fdd4b Forgot to add the cmake changes
svn path=/trunk/; revision=74591
2017-05-19 09:46:41 +00:00
Ged Murphy 4466aba674 [FLTMGR]
- 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
2017-05-19 09:42:00 +00:00
Ged Murphy 7a5211283a [FLTMGR]
- 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
2017-05-19 09:37:38 +00:00
Ged Murphy fb1948e7d4 [FLTMGR}
- Implement FltAcquirePushLockExclusive, FltAcquirePushLockShared and FltReleasePushLock. Lifted from ntos' internal pushlock routines.
- Implement FltpObjectPointerReference and partially implement FltpObjectPointerDerference

svn path=/trunk/; revision=74588
2017-05-19 09:15:35 +00:00
Giannis Adamopoulos a652c58c19 [UXTHEME] -Rename WND_CONTEXT to WND_DATA to avoid confusion with the DRAW_CONTEXT. The WND_DATA is information valid throughout the life of a window and DRAW_CONTEXT is information throughout a draw operation in the non client area of the window.
svn path=/trunk/; revision=74587
2017-05-19 08:45:49 +00:00
Ged Murphy 68bca6631d [FLTMGR]
- Add the missing IOCTLs that were added to fltlib

svn path=/trunk/; revision=74586
2017-05-19 08:21:41 +00:00
Hermès Bélusca-Maïto 6ab86eb6cc [NTOS]: Use the correct access rights for ZwOpenDirectoryObject call.
svn path=/trunk/; revision=74585
2017-05-18 23:46:44 +00:00
Hermès Bélusca-Maïto 2e25bf12d0 [NTOS]: Close an opened handle after usage.
svn path=/trunk/; revision=74584
2017-05-18 23:32:00 +00:00
Ged Murphy 4baf3f8e4f [FLTLIB]
- Implement FilterConnectCommunicationPort
- Add the remaining IOCTLs fltlib sends to the fltmgr

svn path=/trunk/; revision=74583
2017-05-18 22:06:49 +00:00
Eric Kohl e53736f6e0 [INTL]
- 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
2017-05-18 21:56:24 +00:00
Thomas Faber 17c95d5279 [VIDEOPRT]
- Guard Ke386CallBios calls against concurrent execution.
CORE-13214

svn path=/trunk/; revision=74581
2017-05-18 21:29:24 +00:00
Giannis Adamopoulos 7fd7537957 [UXTHEME] -Remove a debug print that was never meant to be committed.
svn path=/trunk/; revision=74580
2017-05-18 17:53:33 +00:00
Giannis Adamopoulos 313744b524 [UXTHEME] -Apply some suggestions by Thomas.
svn path=/trunk/; revision=74579
2017-05-18 17:15:22 +00:00
Peter Hater a1a782be93 [MSTSC] Addendum to r74577. CORE-13263
svn path=/trunk/; revision=74578
2017-05-18 08:57:26 +00:00
Peter Hater 2796bd5d20 [MSTSC] Fix BSOD when we can't acquire context from CryptoAPI. CORE-13263 #resolve
svn path=/trunk/; revision=74577
2017-05-18 08:47:30 +00:00
Thomas Faber 1338881e3b [BOOTLIB]
- Avoid uninitialized ComputeHash variable in BlImgLoadImageWithProgress2
CORE-13265 #resolve

svn path=/trunk/; revision=74571
2017-05-17 16:06:24 +00:00
Peter Hater be8b65c8a9 [MSTSC] Fix parsing of settings. Patch by Stas'M. Thanks. CORE-13223
svn path=/trunk/; revision=74568
2017-05-17 10:53:54 +00:00
Peter Hater 988b6396aa [MSTSC] Send computer name as client name when available. Patch by Stas'M. Thanks. CORE-13237
svn path=/trunk/; revision=74567
2017-05-17 10:47:39 +00:00
Hermès Bélusca-Maïto 4ed5e28c51 [FORMAT]: Use a better variable type for the media flag.
svn path=/trunk/; revision=74566
2017-05-16 20:17:18 +00:00
Hermès Bélusca-Maïto dddd4b38f6 [SHELL32]: Fix a FIXME: Recognize the media type for formatting, by calling GetDriveTypeW(). Based on what format.com does too.
svn path=/trunk/; revision=74565
2017-05-16 20:16:43 +00:00
Peter Hater a31e72a3f9 [MSTSC] Fix unwanted change
svn path=/trunk/; revision=74564
2017-05-16 18:01:31 +00:00
Peter Hater 973f7314b1 [MSTSC] Fix adding module name and IP to logon packet. Patch by Stas'M. Minor modification by me. Thanks. CORE-13234
svn path=/trunk/; revision=74563
2017-05-16 17:56:51 +00:00
Hermès Bélusca-Maïto 819142c996 Addendum to r74559: specify 'void' function aka. doesn't take any parameter. In C, a function whose prototype is () means "take an arbitrary number of args".
svn path=/trunk/; revision=74562
2017-05-16 17:45:52 +00:00
Peter Hater f5c285da13 [MSTSC] Enable taking settings folder using SHGetFolderLocation instead of using "c:\". Patch by Stas'M. Thanks CORE-13225
svn path=/trunk/; revision=74561
2017-05-16 17:37:48 +00:00
Peter Hater 450b66d358 [MSTSC] Fix image corruption in 24bpp mode CORE-13224
svn path=/trunk/; revision=74560
2017-05-16 17:32:19 +00:00
Peter Hater 44f1cf17c7 [ACPI] Implement creating volatile registry keys for ACPI tables CORE-12942
svn path=/trunk/; revision=74559
2017-05-16 17:26:12 +00:00
Peter Hater 8eede74d89 [MSTSC] Switch most MSTSC from internal "ssl" functions to CryptoAPI and implement/enable certificate functions CORE-13259
svn path=/trunk/; revision=74558
2017-05-16 17:20:56 +00:00
Peter Hater 688f2cec04 [MSTSC] Fix build
svn path=/trunk/; revision=74557
2017-05-16 17:03:20 +00:00
Peter Hater e4bc2f39da [MSTSC] Bring MSTSC closer to latest rdesktop (1.83) CORE-13258
svn path=/trunk/; revision=74556
2017-05-16 16:37:29 +00:00
Eric Kohl 4021832267 [INTL]
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
2017-05-15 20:02:48 +00:00
Giannis Adamopoulos 6ac34f176c [UXTHEME] -ThemeDrawCaptionText: Try to avoid a heap allocation when getting the window caption.
svn path=/trunk/; revision=74552
2017-05-15 16:05:14 +00:00
Giannis Adamopoulos 98917d7d98 [UXTHEME] -Simplify ThemeDrawCaptionText.
svn path=/trunk/; revision=74551
2017-05-15 15:34:43 +00:00
Alex Ionescu ba88179c67 BL Library now works 100% in paging, protected mode. A picture is worth a thousand commits: http://i.imgur.com/Zx2nQ6x.jpg
[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
2017-05-15 01:38:49 +00:00
Alex Ionescu fe15b28371 Virtual memory works baby! Virtual Heap at 0x80000000 fully enabled. Next up, EFI Protocols with Paging Enabled.
[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
2017-05-14 16:07:21 +00:00
Pierre Schweitzer 4875f5476e [MUP]
Split MUP into two parts; MUP on one side, DFS on the second side.
This will allow using headers in other parts

svn path=/trunk/; revision=74544
2017-05-14 10:15:43 +00:00
James Tabor 5e9d1bc628 [NtGDI]
- Implement internal functions for setting and retrieving DC origin. Related to CORE-13110.
- Code fix ups.

svn path=/trunk/; revision=74543
2017-05-14 01:00:27 +00:00
Alex Ionescu d4534e81e1 [BOOTLIB]: Implement MmMdTruncateDescriptors
[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
2017-05-14 00:39:30 +00:00
Alex Ionescu 920b985227 [BOOTLIB]: Complete implementation of MmMdRemoveRegionFromMdlEx
svn path=/trunk/; revision=74541
2017-05-14 00:11:48 +00:00
Thomas Faber b6e4109ff1 [MKHIVE]
- Fail when something goes wrong instead of pretending everything's peachy.
CORE-13241 #resolve

svn path=/trunk/; revision=74540
2017-05-13 22:47:59 +00:00
Timo Kreuzer 698c2abb16 [NTOSKRNL] Improve S-List-Fault detection in KiTrap0EHandler to handle usermode faults as well.
svn path=/trunk/; revision=74539
2017-05-13 20:07:39 +00:00
Thomas Faber 4185903012 [CMAKE]
- 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
2017-05-13 19:54:51 +00:00
Alex Ionescu 29d82352a3 [BOOTLIB]: Separate free and zero memory, and code vs data runtime data, as newer bootlibs do.
[BOOTLIB]: Fix bugs in MmMdpHasPrecedence and cleanup.
[BOOTLIB]: Fix bug in MmMdFreeDescriptor.
[BOOTLIB]: Cleanup MmMdpSaveCurrentListPointer.
[BOOTLIB]: Fix bug in MmMdpCoalesceDescriptor.
[BOOTLIB]: Fix multiple bugs in MmMdAddDescriptorToList, and cleanup.

svn path=/trunk/; revision=74536
2017-05-13 19:32:26 +00:00
Mark Jansen c7afd6f90c [APPHELP][SHIMLIB] Forward some events to loaded shims. CORE-11329
svn path=/trunk/; revision=74535
2017-05-13 18:49:27 +00:00
Mark Jansen b4e46f9021 [NDK][RTL] Make the Name argument in RtlQueryEnvironmentVariable_U const.
svn path=/trunk/; revision=74534
2017-05-13 17:26:59 +00:00
Giannis Adamopoulos e4832e1f99 [UXTHEME] -Fix the tab background pattern hack when the background pattern is smaller than the window that we are trying to paint. CORE-13147, CORE-13192.
There is still a bug where the pattern doesn't change after a theme change.

svn path=/trunk/; revision=74522
2017-05-12 12:44:49 +00:00
Mark Jansen 3305b84402 [SHELL32] Add stub for SHEnumerateUnreadMailAccountsW, needed by Thunderbird. Found by Joachim Henze. CORE-13229
svn path=/trunk/; revision=74521
2017-05-11 20:20:47 +00:00
Alex Ionescu 676adf3c06 Fully working x86 paging support!
[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
2017-05-10 14:38:34 +00:00
Colin Finck a366e71f50 [PRINTING]
SetDefaultPrinterW needs to fail with ERROR_INVALID_PRINTER_NAME if the input parameter is invalid. Also add a test for that.

svn path=/trunk/; revision=74518
2017-05-10 13:03:08 +00:00
Giannis Adamopoulos 643b7c9da9 [SHELL32_APITEST] -Add tests for Control_RunDLLW.
svn path=/trunk/; revision=74517
2017-05-10 10:06:02 +00:00
Hermès Bélusca-Maïto 3acad0e9e5 [USETUP]: Fix the primary/extended partitions creation checks introduced in r63392 : indeed this is if there are *already* 4 (primary) partitions in the table that we cannot create new primary/extended partitions.
Otherwise with the old (broken) checks, we allowed creating more than 4 partitions, and then we overflowed over memory and corrupted the partition list structures.

svn path=/trunk/; revision=74516
2017-05-09 22:09:06 +00:00