Mark Jansen [Sun, 2 Jul 2017 11:43:54 +0000 (11:43 +0000)]
[APPHELP] Propagate applied layers to child processes by setting the env var __COMPAT_LAYER. CORE-13284
svn path=/trunk/; revision=75262
Eric Kohl [Sat, 1 Jul 2017 23:12:06 +0000 (23:12 +0000)]
[NETAPI32]
- Add DsEnumerateDomainTrustsA, DsEnumerateDomainTrustsW, DsRoleFreeMemory, DsGetDcNameA, DsGetDcNameW, DsGetSiteNameA and DsGetSiteNameW stubs to netlogon.c.
- Remove the now obsolete file ds.c.
- Implement DsGetSiteNameW and NetEnumerateTrustedDomains. These functions call their counterpart in the netlogon service.
svn path=/trunk/; revision=75261
Sebastian Gasiorek [Sat, 1 Jul 2017 20:12:37 +0000 (20:12 +0000)]
[WIN32K][DXG] DxDdReenableDirectDrawObject: update dhpdev. It is wrong after screen resolution change
svn path=/trunk/; revision=75259
Mark Jansen [Sat, 1 Jul 2017 20:06:30 +0000 (20:06 +0000)]
[APPHELP/SHIMENG] Begin implementing the core of the SHIM engine.
With this, the basics of the app compat engine are implemented and should be functional.
Currently it is disable with a policy, to be enabled soon.
CORE-13284
CORE-11300
svn path=/trunk/; revision=75258
Mark Jansen [Sat, 1 Jul 2017 11:37:44 +0000 (11:37 +0000)]
[ACPPAGE] Register the extension + allow it to be disabled with policies. Disable it with the rest of the app compat infrastructure. CORE-10375
svn path=/trunk/; revision=75256
Thomas Faber [Sat, 1 Jul 2017 06:22:27 +0000 (06:22 +0000)]
[USBPORT][USBHUB_NEW]
- Make use of the newly defined structures and constants and remove locally defined versions. Patch by Vadim Galyant.
svn path=/trunk/; revision=75255
Thomas Faber [Sat, 1 Jul 2017 06:19:26 +0000 (06:19 +0000)]
[PSDK]
Patch by Vadim Galyant:
- Add USB port status change constants and structures
- Add USB hub descriptor type constants and missing device class constants
svn path=/trunk/; revision=75254
Thomas Faber [Sat, 1 Jul 2017 06:06:12 +0000 (06:06 +0000)]
[USBPORT]
Patch by Vadim Galyant:
- Add USBPORT_HUB_CHARACTERISTICS structure
- Indicate the USB3 hub descriptor type when the miniport is an XHCI controller
svn path=/trunk/; revision=75253
James Tabor [Sat, 1 Jul 2017 02:35:28 +0000 (02:35 +0000)]
[NtGDI]
- Memory DC with no surface selected return true. WIP and part of CORE-12888.
svn path=/trunk/; revision=75252
James Tabor [Fri, 30 Jun 2017 23:23:33 +0000 (23:23 +0000)]
[NtGDI]
- Memory DC with no surface selected return true. WIP and part of CORE-12888.
svn path=/trunk/; revision=75251
James Tabor [Fri, 30 Jun 2017 00:33:41 +0000 (00:33 +0000)]
[NtGDI]
- Remove DC information checking for non-BLT functions. WIP and part of CORE-12888.
svn path=/trunk/; revision=75243
James Tabor [Fri, 30 Jun 2017 00:17:50 +0000 (00:17 +0000)]
[PSDK]
- Add EMRGRADIENTFILL, part of CORE-12888.
svn path=/trunk/; revision=75242
Mark Jansen [Thu, 29 Jun 2017 17:32:03 +0000 (17:32 +0000)]
[APPHELP] Implement SdbpMatchExe, allowing to match applications / files based on properties. CORE-13284
svn path=/trunk/; revision=75238
Mark Jansen [Thu, 29 Jun 2017 17:09:49 +0000 (17:09 +0000)]
[ATL] Add missing CString += overload (char). Patch by Alexander Shaposhnikov. CORE-13503
svn path=/trunk/; revision=75237
Thomas Faber [Thu, 29 Jun 2017 16:16:20 +0000 (16:16 +0000)]
[KMTESTS:KERNEL32]
- Add a test for SetFileAttributes/GetFileAttributes
- Add KmtSendUlongToDriver helper and fix some doc comments
CORE-13495
svn path=/trunk/; revision=75236
Thomas Faber [Thu, 29 Jun 2017 15:30:23 +0000 (15:30 +0000)]
[KMTESTS:KERNEL32]
- Rename FindFile_drv to kernel32_drv (and perform some other appropriate renames), since it can be used for multiple tests, not just FindFile
- Change license to LGPL (this is okay since nobody but me has touched these files)
CORE-13495
svn path=/trunk/; revision=75235
Thomas Faber [Thu, 29 Jun 2017 15:01:47 +0000 (15:01 +0000)]
[USBPORT]
- Correctly distinguish between current hub status and status change in USBPORT_RootHubSCE. Patch by Vadim Galyant.
svn path=/trunk/; revision=75234
Giannis Adamopoulos [Thu, 29 Jun 2017 09:41:00 +0000 (09:41 +0000)]
[BROWSEUI] -CBandSite: Remove the Close item menu if the band is undeletable. Remove the Show caption menu item if the band doesn't have a caption. Implement showing or hiding the band caption.
svn path=/trunk/; revision=75230
Thomas Faber [Thu, 29 Jun 2017 08:09:44 +0000 (08:09 +0000)]
[PSDK]
- Add USB_HUB_CHANGE and USB_HUB_STATUS_AND_CHANGE
svn path=/trunk/; revision=75229
Amine Khaldi [Wed, 28 Jun 2017 23:23:01 +0000 (23:23 +0000)]
[USBHUB_NEW] Bring-in the USB Hub driver created by Vadim Galyant. GitHub PR #29. As usual, I thank the code reviewers, especially Thomas for contributing most of the reviews, improvements and fix suggestions.
svn path=/trunk/; revision=75227
Hermès Bélusca-Maïto [Wed, 28 Jun 2017 22:17:53 +0000 (22:17 +0000)]
[BOOTDATA]: Sprinkle few FLG_ADDREG_NOCLOBBER (0x00000002) flags for registry keys/values that need to remain the same across ReactOS upgrades. This also includes the "Session Manager\DOS Devices" as well as the "Session Manager\Environment" values!
Also, fix the default LastKnownGood value to the 'Current'/'Default' one. These values should also not be touched across upgrades (well, they can be touched manually by the (u)setup program, but they must not when updating the registry in bulk).
svn path=/trunk/; revision=75225
Hermès Bélusca-Maïto [Wed, 28 Jun 2017 00:04:13 +0000 (00:04 +0000)]
[CMLIB]: Addendum to r63495: Fix the CmpCopyKeyValueList() helper to make it what it is supposed to do: copy the list of values of a given key: this means, also copying the values themselves!!
For that aim I also introduce a CmpCopyValue() helper that allows copying the value data of a given registry value, taking into account whether the value is "small", normal or "big" (we don't support "big values" yet). This function allocates and copies the necessary hive cells corresponding to the given value. Only then, we add a new entry into the registry key value list that is grown dynamically.
Cleanup is performed in case of failure.
Now we can export registry sub-trees as registry hives, and successfully re-mount them in the registry.
CORE-13476 CORE-8259 CORE-10793
svn path=/trunk/; revision=75222
Hermès Bélusca-Maïto [Tue, 27 Jun 2017 23:46:17 +0000 (23:46 +0000)]
[CMLIB]: Adjust the old-style parameter annotations for two functions.
svn path=/trunk/; revision=75221
Mark Jansen [Tue, 27 Jun 2017 20:27:31 +0000 (20:27 +0000)]
[SHIMDBG] Add option to dump file properties.
svn path=/trunk/; revision=75218
Mark Jansen [Tue, 27 Jun 2017 20:09:53 +0000 (20:09 +0000)]
[APPWIZ] Enable the 'Cancel' button while downloading. Patch by Jared Smudde and 'thc'. CORE-9629
svn path=/trunk/; revision=75217
Giannis Adamopoulos [Tue, 27 Jun 2017 10:05:59 +0000 (10:05 +0000)]
[BROWSEUI] -CBandSite: Implement the context menu of the rebar. It queries the IContextMenu if the band and appends to it a static menu part that can show or hide the title and close the toolbar. Showing or hiding the title isn't implemented yet.
svn path=/trunk/; revision=75216
Colin Finck [Tue, 27 Jun 2017 07:25:04 +0000 (07:25 +0000)]
[PRINTING]
Fix all EnumPrintProcessorDatatypes API tests.
svn path=/trunk/; revision=75215
Eric Kohl [Mon, 26 Jun 2017 22:58:26 +0000 (22:58 +0000)]
[IDL]
Prevent duplicate declaration of NTSTATUS.
svn path=/trunk/; revision=75214
Eric Kohl [Mon, 26 Jun 2017 22:52:40 +0000 (22:52 +0000)]
[IDL]
Prevent duplicate declaration of STRING and PSTRING.
svn path=/trunk/; revision=75213
Eric Kohl [Mon, 26 Jun 2017 22:08:37 +0000 (22:08 +0000)]
[NETAPI32]
- Add netlogon RPC binding code.
- Implement NetGetAnyDCName. This function calls its counterpart in the netlogon service.
svn path=/trunk/; revision=75212
Pierre Schweitzer [Mon, 26 Jun 2017 18:10:43 +0000 (18:10 +0000)]
[FASTFAT]
- Stop passing DO, directly pass VCB
- Try to compute some unique value as internal ID for objects. As MS, return the LBO
CORE-13489
svn path=/trunk/; revision=75210
Colin Finck [Mon, 26 Jun 2017 15:43:58 +0000 (15:43 +0000)]
[NETAPI32_APITEST]
Fix GCC build
svn path=/trunk/; revision=75209
Colin Finck [Mon, 26 Jun 2017 15:19:07 +0000 (15:19 +0000)]
[NETAPI32_APITEST]
Add a simple API Test for netapi32.dll, only covering DsRoleGetPrimaryDomainInformation so far.
It succeeds in ReactOS, but outputs a heap error in the debug log. In real world applications, this later leads to a heap assertion failure.
svn path=/trunk/; revision=75208
Colin Finck [Mon, 26 Jun 2017 15:16:46 +0000 (15:16 +0000)]
[PRINTING]
- Create the actual generic handle in _LocalOpenPrinterHandle.
- Fix _RpcClosePrinter call.
- Enable many more tests in winspool_apitest, GetPrinterData.
- Bail out with ERROR_INVALID_PARAMETER for empty strings in _MakePrinterSubKey as well.
- Add the Name registry value for "Dummy Printer on LPT1" to make a test succeed.
This fixes many basic things.. which only got unnoticed, because Printing is only used in the form of API Tests so far.
CORE-13458
CORE-13459
svn path=/trunk/; revision=75207
Colin Finck [Mon, 26 Jun 2017 15:10:27 +0000 (15:10 +0000)]
[ADVAPI32_APITEST]
Fix copy-paste mistakes in messages.
svn path=/trunk/; revision=75206
Mark Jansen [Mon, 26 Jun 2017 14:58:08 +0000 (14:58 +0000)]
[APPHELP_APITEST] Add tests for SdbGetMatchingExe, to test matching on version resources. CORE-13284
svn path=/trunk/; revision=75205
Mark Jansen [Mon, 26 Jun 2017 12:50:46 +0000 (12:50 +0000)]
Missing functions
svn path=/trunk/; revision=75204
Mark Jansen [Mon, 26 Jun 2017 12:47:08 +0000 (12:47 +0000)]
Missing include
svn path=/trunk/; revision=75203
Mark Jansen [Mon, 26 Jun 2017 12:45:01 +0000 (12:45 +0000)]
[SDK][XML2SDB] Simplify helper functions, output Exe matches + file attributes
svn path=/trunk/; revision=75202
Mark Jansen [Mon, 26 Jun 2017 10:26:57 +0000 (10:26 +0000)]
[APPHELP_APITEST:db] Fix the test for Win10, use WCHAR for data paths
svn path=/trunk/; revision=75201
Eric Kohl [Sun, 25 Jun 2017 13:14:06 +0000 (13:14 +0000)]
[IDL]
Add the Netlogon service interface definition.
svn path=/trunk/; revision=75197
Eric Kohl [Sun, 25 Jun 2017 12:14:35 +0000 (12:14 +0000)]
[NETAPI32]
Implement I_BrowserrDebugTrace and I_BrowserServerEnum. This functions calls their counterpart in the computer browser service.
svn path=/trunk/; revision=75196
Pierre Schweitzer [Sun, 25 Jun 2017 11:55:37 +0000 (11:55 +0000)]
[RXCE]
- Implemented RxCompleteSrvOpenKeyAssociation(), RxInitiateSrvOpenKeyAssociation(), RxProcessChangeBufferingStateRequests()
- Implemented RxFinalizeFcbTable(), RxFinalizeNetFobx(), RxFinalizeNetRoot(), RxFinalizeSrvCall(), RxFinalizeVNetRoot(), RxFreeObject(), RxpDestroySrvCall(), RxRemovePrefixTableEntry(), RxRemoveVirtualNetRootFromNetRoot(), RxScavengeRelatedFobxs(), RxTearDownBufferingManager(), RxUndoScavengerFinalizationMarking()
- Implemented RxPostToWorkerThread()
- Implemented RxFlushFcbInSystemCache(), RxPurgeFcb(), RxPurgeFcbInSystemCache()
- Stubbed RxOrphanSrvOpens(), RxpDiscardChangeBufferingStateRequests(), RxpDispatchChangeBufferingStateRequests(), RxpProcessChangeBufferingStateRequests()
- Continued implementation of RxDereference() so that it supports more objects than just SRV_CALL
- Reworked RxInsertWorkQueueItem() implementation so that it accepts any work item, and not just dispatch work items
- Finished implementation of RxTableLookupName() so that it properly returns a V_NET_ROOT on NET_ROOT match
Notable effects of this commit are:
- RXCE/RDBSS leak less memory; now objects without references are properly deleted from the system
- This means that stale objects are also deleted; this fixes CORE-13483 were same stale SRV_CALL was used again and again
- Because in prefix table NET_ROOT are correctly handled, it's now possible to mount several path from the same prefix; this fixes CORE-13482
CORE-8204
CORE-11327
CORE-13482
CORE-13483
svn path=/trunk/; revision=75195
Thomas Faber [Sun, 25 Jun 2017 08:17:33 +0000 (08:17 +0000)]
[USBPORT]
- Fix setting the direction in USBPORT_OpenPipe. Patch by Vadim Galyant.
svn path=/trunk/; revision=75194
Sebastian Gasiorek [Sat, 24 Jun 2017 22:24:04 +0000 (22:24 +0000)]
- update EDD_DIRECTDRAW_LOCAL, EDD_SURFACE and EDD_DIRECTDRAW_GLOBAL structures
- initial implementation of DxDdCreateD3DBuffer and DxDdCreateSurfaceObject CORE-4490
svn path=/trunk/; revision=75189
David Quintana [Sat, 24 Jun 2017 22:01:46 +0000 (22:01 +0000)]
[NTOBJSHEX]
Fix registration.
svn path=/trunk/; revision=75188
Eric Kohl [Sat, 24 Jun 2017 21:47:27 +0000 (21:47 +0000)]
[NETAPI32]
Implement NetBrowserStatisticsGet().
svn path=/trunk/; revision=75187
Eric Kohl [Sat, 24 Jun 2017 16:42:21 +0000 (16:42 +0000)]
[NETAPI32]
Move the functions NetGetDCName, NetGetAnyDCName and NetEnumerateTrustedDomains into a separate file for the Netlogon service interface code.
svn path=/trunk/; revision=75186
Pierre Schweitzer [Sat, 24 Jun 2017 16:22:24 +0000 (16:22 +0000)]
[DXG]
Fix GCC build
svn path=/trunk/; revision=75185
Eric Kohl [Sat, 24 Jun 2017 14:59:14 +0000 (14:59 +0000)]
[NETAPI32]
Implement I_BrowserQueryOtherDomains, I_BrowserQueryStatistics and I_BrowserResetNetlogonState. This functions calls their counterpart in the computer browser service.
svn path=/trunk/; revision=75184
Sylvain Deverre [Sat, 24 Jun 2017 13:54:10 +0000 (13:54 +0000)]
[MMIXER] Cleanup mixer notifications opened by an application when it is closed.
CORE-10735 #comment Please retest.
svn path=/trunk/; revision=75183
Sebastian Gasiorek [Sat, 24 Jun 2017 13:53:22 +0000 (13:53 +0000)]
[DXG] Initial implementation of DxDdLock and better stub for DxDdUnlock
svn path=/trunk/; revision=75182
Sebastian Gasiorek [Sat, 24 Jun 2017 13:21:24 +0000 (13:21 +0000)]
[WIN32SS][NTDDRAW] Remove debug dump. Forgot about this.
svn path=/trunk/; revision=75181
Sebastian Gasiorek [Sat, 24 Jun 2017 12:36:19 +0000 (12:36 +0000)]
[WIN32SS][NTDDRAW] Remove debug dump of structures during ReactX initialisation. It's not needed and shouldn't be commited.
svn path=/trunk/; revision=75180
Sebastian Gasiorek [Sat, 24 Jun 2017 12:14:01 +0000 (12:14 +0000)]
[DXG] Replace wrong PLONG with PBYTE as it was in original development. CORE-13392
svn path=/trunk/; revision=75179
David Quintana [Fri, 23 Jun 2017 23:23:17 +0000 (23:23 +0000)]
[NTOBJSHEX]
Make nt object symlinks work more like shortcuts. Fixes the addressbar not quite knowing what to show when you click on a symlink.
svn path=/trunk/; revision=75177
David Quintana [Fri, 23 Jun 2017 21:40:19 +0000 (21:40 +0000)]
[NTOBJSHEX]
Make GCC happy.
svn path=/trunk/; revision=75176
David Quintana [Fri, 23 Jun 2017 21:28:36 +0000 (21:28 +0000)]
[NTOBJSHEX]
* Added a common superclass for the ntobj and registry folders.
* Refactored the ntobj and registry folders to make use of this superclass.
* Removed the concept of a "pidl helper", since it works best to just have the methods be part of the folders.
* Cleaned up the ItemID comparison logic.
svn path=/trunk/; revision=75175
Pierre Schweitzer [Fri, 23 Jun 2017 19:29:31 +0000 (19:29 +0000)]
[MPR]
Import Wine commit:
-
8d461c1f42b0b667b2aa6a235d007eea1dd6f561, Don't stop enumeration on the first failing network provider.
This fixes 'net use' stoping connections enumeration when a network returns an error or no connection.
CORE-13475
svn path=/trunk/; revision=75173
Pierre Schweitzer [Fri, 23 Jun 2017 19:21:29 +0000 (19:21 +0000)]
[MPR]
Import Wine commit:
-
51b4a42969366cc409808aded23d3602a34206e2, Properly handle the count set to -1 when enumerating connections.
This fixes 'net use' not being able to enumerate multiple connections served by multiple network providers.
CORE-13475
svn path=/trunk/; revision=75172
Hermès Bélusca-Maïto [Fri, 23 Jun 2017 17:33:44 +0000 (17:33 +0000)]
[NTOS]: Improve a bit CmpDeepCopyKeyInternal():
- Normally getting the SrcNode and DestNode must succeed (checked with assert);
- Set the DestNode Flags member, in particular when this is the new root node of the saved registry hive;
- Copy the key class cell (OK), and the key security cell (currently done in a hackish way; proper way: call the CmpAssignSecurity* function);
- Add more clean-up on failure;
- Warn in code about the fact that CmpDeepCopyKeyInternal is recursive, and will easily exhaust kernel stack. This function will need to be reworked later...
CORE-10793 CORE-10796
svn path=/trunk/; revision=75171
David Quintana [Thu, 22 Jun 2017 18:00:57 +0000 (18:00 +0000)]
[NTOBJSHEX]
* Fix gcc build.
* Remove magic.
* Address nitpicks.
svn path=/trunk/; revision=75167
David Quintana [Thu, 22 Jun 2017 17:49:42 +0000 (17:49 +0000)]
[NTOBJSHEX]
Fixed registry value display for values that are too long to fit inside the shitemid.
Set the maximum for shitemid embedding back to a smaller number.
svn path=/trunk/; revision=75166
Hermès Bélusca-Maïto [Thu, 22 Jun 2017 15:41:44 +0000 (15:41 +0000)]
[WINTERNL.H]: Fix the value of OBJ_VALID_ATTRIBUTES, and add the definition for OBJ_FORCE_ACCESS_CHECK.
svn path=/trunk/; revision=75165
David Quintana [Wed, 21 Jun 2017 22:32:34 +0000 (22:32 +0000)]
[NTOBJSHEX]
* Fixed NT object symbolic link target retrieval.
* Fixed NT path parsing (didn't consider paths sub sub-folders in them).
* Fixed BindToObject to properly resolve the target path for symlinks.
* Made the maximum embedded content length for registry keys a bit bigger.
svn path=/trunk/; revision=75160
Hermès Bélusca-Maïto [Tue, 20 Jun 2017 23:29:54 +0000 (23:29 +0000)]
[CMLIB]: Use the generic allocator functions, and fix build.
svn path=/trunk/; revision=75159
Hermès Bélusca-Maïto [Tue, 20 Jun 2017 23:11:53 +0000 (23:11 +0000)]
[CMLIB]: Implement the dynamic array of the hive cell reference tracker.
svn path=/trunk/; revision=75158
David Quintana [Tue, 20 Jun 2017 23:03:24 +0000 (23:03 +0000)]
[NTOBJSHEX]
Improve the GetDisplayNameOf logic from "badly broken" to "seems to work". I'm not convinced it's perfect, but it's better than before.
svn path=/trunk/; revision=75157
David Quintana [Tue, 20 Jun 2017 21:32:42 +0000 (21:32 +0000)]
[NTOBJSHEX]
Fix crash showing registry keys that have values.
CORE-13456 #resolve
svn path=/trunk/; revision=75156
Giannis Adamopoulos [Tue, 20 Jun 2017 19:26:37 +0000 (19:26 +0000)]
[WIN32K:NTUSER] -IntSetThreadDesktop: Don't close the previous desktop handle. Fixes a lot of tests. Based on a patch by Sebastian Gasiorek. CORE-13463
svn path=/trunk/; revision=75154
Giannis Adamopoulos [Tue, 20 Jun 2017 19:25:10 +0000 (19:25 +0000)]
[USER32_APITEST] -Initial tests for desktop reference numbers.
svn path=/trunk/; revision=75153
Thomas Faber [Tue, 20 Jun 2017 17:15:43 +0000 (17:15 +0000)]
[RTL]
- Correctly use the page heap's lock in RtlLockHeap/RtlUnlockHeap when appropriate. Fixes assertion failure when Global/Local memory allocations are performed concurrently with DPH enabled.
svn path=/trunk/; revision=75152
Hermès Bélusca-Maïto [Tue, 20 Jun 2017 16:44:40 +0000 (16:44 +0000)]
[USER.EXE]: Addendum to r75126: add a (dummy) version resource to USER.EXE so as to fix error 1812 "ERROR_RESOURCE_DATA_NOT_FOUND" encountered when starting the DirectX 9.0 installer. From patch by Stas'M, thanks!
CORE-13462
svn path=/trunk/; revision=75151
Thomas Faber [Tue, 20 Jun 2017 15:51:47 +0000 (15:51 +0000)]
[NTOS:MM]
- In MiDeletePte, check the ReferenceCount of transition PTEs, not the ShareCount (which is actually u2.Blink, since the page is in a modified/standby list). Also don't reset the PageLocation, since MiDecrementReferenceCount expects it to be anything but ActiveAndValid.
Fixes physical page leaks when using DPH, or other code that sets PAGE_NOACCESS.
CORE-13311 #resolve
svn path=/trunk/; revision=75150
Colin Finck [Tue, 20 Jun 2017 14:48:26 +0000 (14:48 +0000)]
That shouldn't have been committed in r75125. Thanks Thomas!
svn path=/trunk/; revision=75149
Colin Finck [Tue, 20 Jun 2017 06:08:30 +0000 (06:08 +0000)]
[LOCALSPL]
Add the missing root backslash to the symbolic link path. Fixes CORE-13457
svn path=/trunk/; revision=75148
Hermès Bélusca-Maïto [Tue, 20 Jun 2017 00:45:07 +0000 (00:45 +0000)]
[FILESYSTEMS]: Fix printf-like counted string specifiers.
svn path=/trunk/; revision=75147
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 23:18:42 +0000 (23:18 +0000)]
[NTOS:CM]: Simplify code by using suitable assertion macro.
svn path=/trunk/; revision=75146
Jérôme Gardou [Mon, 19 Jun 2017 21:17:17 +0000 (21:17 +0000)]
[DDK]
- Use FORCEINLINE where appropriate
svn path=/trunk/; revision=75145
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 20:37:36 +0000 (20:37 +0000)]
[NTOS]: Addendum to r75142: Use strsafe printf functions (suggested by Thomas).
svn path=/trunk/; revision=75144
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 20:14:09 +0000 (20:14 +0000)]
[CMLIB][NTOS]: Use correct parameter type for the 4th parameter of CmpGetValueData().
[CMLIB]: Fix debug.h inclusion.
[NTOS]: Use RtlCopyUnicodeString() to initialize the contents of FullName.
svn path=/trunk/; revision=75143
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 20:07:15 +0000 (20:07 +0000)]
[NTOS]: Fixes & improvements:
- Fix a bug in CmpInitHiveFromFile(): correctly set the MaximumLength value of NewHive->FileFullPath;
- Code simplification: no need to use temporary ANSI string operations followed by UNICODE conversion, when one can do the same thing directly in UNICODE.
- Use NULL for NULL handles.
svn path=/trunk/; revision=75142
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 20:04:25 +0000 (20:04 +0000)]
[NTOS]: Improve parameter namings in CmpLinkKeyToHive() and some of its DPRINTs; use UNICODE_NULL where needed.
svn path=/trunk/; revision=75141
Mark Jansen [Mon, 19 Jun 2017 20:00:36 +0000 (20:00 +0000)]
[WIN32SS] Rewrite GetFontFamilyInfoForSubstitutes to use the subsitute list loaded at boot. Patch by Katayama Hirofumi MZ. CORE-13064
svn path=/trunk/; revision=75140
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 19:55:14 +0000 (19:55 +0000)]
[NTOS]: Improve some DPRINTs, and variables naming + buffer data type in CmpAddToHiveFileList().
svn path=/trunk/; revision=75139
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 19:50:49 +0000 (19:50 +0000)]
[NTDLL_APITEST]: Temporarily disable part of the NtLoad/UnloadKey test (related to force-unload a hive while some handles to subkeys are still opened), because this creates memory corruptions, due to the fact we currently don't perform force-unloads correctly.
CORE-13448
svn path=/trunk/; revision=75138
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 16:47:45 +0000 (16:47 +0000)]
[NTOS]: Fix the ObpLookupObjectName() prototype in regard to r75133.
svn path=/trunk/; revision=75136
Mark Jansen [Mon, 19 Jun 2017 16:37:47 +0000 (16:37 +0000)]
[APPHELP] Implement Sdb[Un]packAppCompatData and SdbGetAppCompatDataSize. CORE-13284
svn path=/trunk/; revision=75135
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 16:30:17 +0000 (16:30 +0000)]
[NTOS]: Avoid initializing variables within if-conditions.
svn path=/trunk/; revision=75134
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 16:29:44 +0000 (16:29 +0000)]
[NTOS]: Revert the pool tag change from r75128, and explain in comment why we cannot actually use it.
svn path=/trunk/; revision=75133
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 15:26:08 +0000 (15:26 +0000)]
[NTOS]: Fix typos.
svn path=/trunk/; revision=75132
Mark Jansen [Mon, 19 Jun 2017 15:24:05 +0000 (15:24 +0000)]
[APPSHIM_APITEST] Addendum to r75041, add a missed line.
svn path=/trunk/; revision=75131
Mark Jansen [Mon, 19 Jun 2017 15:04:20 +0000 (15:04 +0000)]
[SHELL32] Partially sync shlexec with wine staging 2.9 CORE-13362 CORE-13407
svn path=/trunk/; revision=75130
Giannis Adamopoulos [Mon, 19 Jun 2017 14:52:51 +0000 (14:52 +0000)]
[ATL]
-Add a new template called CComQIIDPtr and its partner I_ID macro. Its purpose is to be a gcc compatible version of CComQIPtr.
-CComQIIDPtr<I_ID(Itype)> is the gcc compatible version of CComQIPtr<Itype>
- WARNING: this is not tested yet.
svn path=/trunk/; revision=75129
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 14:48:59 +0000 (14:48 +0000)]
[NTOS]: Minor fixes:
- Use NULL instead of 'zero' for setting a handle / pointer to NULL;
- Don't hardcode an array size; fix a comment;
- Use ExFreePoolWithTag();
- Whitespace fix.
svn path=/trunk/; revision=75128
Giannis Adamopoulos [Mon, 19 Jun 2017 14:27:51 +0000 (14:27 +0000)]
[SHELL32]
-Rename constructors from Class_Creator to Class_CreateInstance. Prepend the ones that are exported from rshell with RSHELL_. The reasoning is that rshell will always use our code but whether or not internal classes will be used in shellmenu lib will be controlled by preprocessor definitions in shellmenu.h
[BROWSEUI]
-Rename more constructors to use the _CreateInstance suffix.
[RSHELL]
- The functions that let rshell export some objects have the RSHELL_ postfix but they are not exported as such.
[EXPLORER]
- Rename _CStartMenu_Constructor to _CStartMenu_CreateInstance.
svn path=/trunk/; revision=75127
Hermès Bélusca-Maïto [Mon, 19 Jun 2017 14:24:48 +0000 (14:24 +0000)]
[USER.EXE]: Add a *stub* user.exe to make the DirectX 9.0 installer happy (it searches user.exe for existence for no reason, and if it cannot find it, the installer bails out). (WARNING: This is in NO WAY our implementation of WoW16!!)
Reported on https://www.reactos.org/forum/viewtopic.php?f=4&t=15576 , http://reactos.org/forum/viewtopic.php?f=4&t=16498 .
This is not a ReactOS problem per se, because it also happens on Windows, as reported here:
https://xpetips.wordpress.com/2009/09/18/installing-directx-9-0c-on-xpe/ and http://www.xpembedded.info/DirectX_v9_0c_and_finding_missing_components_.html .
svn path=/trunk/; revision=75126
Colin Finck [Mon, 19 Jun 2017 14:18:19 +0000 (14:18 +0000)]
[PRINTING]
- Implement GetPrinterDataA, GetPrinterDataExA, GetPrinterDataExW, GetPrinterDataW, SetPrinterDataA, SetPrinterDataExA, SetPrinterDataExW, SetPrinterDataW.
They support all features for Print Server and Printer Handles (minus security checks!)
I've also added tests for them.
- Store Printer data in SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers instead of SYSTEM\CurrentControlSet\Control\Print\Printers and create a registry symlink from the former path to the new one just like Windows does.
According to https://social.technet.microsoft.com/Forums/windowsserver/en-US/
a683ab54-c43c-4ebe-af8f-
1f7a65af2a51, this is needed when having >900 printers to work around a size limit of the SYSTEM registry hive. And if Windows has both locations, we need both for compatibility anyway.
- Add several settings which are queried by the new Printer Data APIs when working with Print Server Handles.
- Store the job directory in the Windows-compatible "DefaultSpoolDirectory" setting and make use of it.
- Revert the ASSERTs in LocalEnumPrinters again to let us verify the NULL pointer exceptions in localspl_apitest (thanks Serge! CORE-13433)
- Translate ERROR_INVALID_NAME to ERROR_INVALID_PRINTER_NAME in all cases in OpenPrinterW (thanks Victor! CORE-13412)
- Make EnumMonitorsW and EnumPortsW in spoolss more robust against failing Print Monitors.
- Remove the wrong !phPrinter check in OpenPrinterW to make Print Server Handles work for real.
- Fix error handling when memory allocation fails: HeapAlloc doesn't set last error, so it's just wrong to query or return it.
One more item done from https://reactos.org/wiki/Printing !
This is all still a big Work-in-Progress, with many subtle bugs deep down in ReactOS, for which I need to open additional tickets. But I didn't want to make this commit even bigger..
svn path=/trunk/; revision=75125
Eric Kohl [Mon, 19 Jun 2017 14:06:04 +0000 (14:06 +0000)]
[NETAPI32]
Implement I_BrowserQueryEmulatedDomains, I_BrowserResetStatistics and I_BrowserSetNetlogonState. This functions calls their counterpart in the computer browser service.
svn path=/trunk/; revision=75124
Eric Kohl [Mon, 19 Jun 2017 13:48:40 +0000 (13:48 +0000)]
[INCLUDE]
Replace the lmbrowsr.h form wine by a more complete psdk version.
Lmbrowsr.h was a part of Visual Studio 6 but Microsoft removed it from the PSDK later.
svn path=/trunk/; revision=75123