Hermès Bélusca-Maïto [Sat, 8 Jul 2017 00:23:33 +0000 (00:23 +0000)]
Integrate the USERINIT changes r75295, r75302 and r75303 from the setup_improvements branch back to trunk.
svn path=/trunk/; revision=75304
Giannis Adamopoulos [Fri, 7 Jul 2017 20:34:27 +0000 (20:34 +0000)]
[SHELL32]
- Simplify SHELL32_CoCreateInitSF by letting the callers fill the PERSIST_FOLDER_TARGET_INFO. This lets us stop using _ILSimpleGetTextW in it which breaks the logic that pidls should be read only by their shell folder. Also add an overload for SHELL32_CoCreateInitSF that makes it simpler to create a shell folder with a csidl.
- Add a SHELL32_BindToSF helper to share some logic that was duplicated in several shell folders.
- Move SHELL32_GetCustomFolderAttributeFromPath, SHELL32_GetCLSIDForDirectory and SHELL32_GetFSItemAttributes, SHELL32_BindToFS to CFSFolder.cpp as these were fs specific.
- These changes give finer control to shell folders for how the bind will be done and shares more logic that can be shared.
svn path=/trunk/; revision=75301
Eric Kohl [Fri, 7 Jul 2017 17:59:14 +0000 (17:59 +0000)]
[NETAPI32]
- Add DsMergeForestTrustInformationW stub.
- Implement DsGetForestTrustInformationW.
[SDK/INCLUDE]
Add DsGetSiteNameA/W, DsGetForestTrustInformationW and DsMergeForestTrustInformationW prototypes to dsgetdc.h.
svn path=/trunk/; revision=75300
James Tabor [Thu, 6 Jul 2017 19:13:49 +0000 (19:13 +0000)]
[NtGDI]
- Return Set if managed, part of CORE-12888.
svn path=/trunk/; revision=75294
James Tabor [Thu, 6 Jul 2017 19:06:29 +0000 (19:06 +0000)]
[NtUser]
- Part of CORE-13110. Set DC window rectangle and pointer.
svn path=/trunk/; revision=75293
James Tabor [Thu, 6 Jul 2017 18:52:22 +0000 (18:52 +0000)]
[Gdi32]
- Sync/Port Wine Enhanced/Metafile code. This is a fix for CORE-12888.
- Wine made this difficult to port and keep the whole file unchanged for syncing.
svn path=/trunk/; revision=75292
Giannis Adamopoulos [Wed, 5 Jul 2017 21:36:20 +0000 (21:36 +0000)]
[SHELL32] -Remove IShellView_Constructor and CDefView_Constructor. Use SHCreateShellFolderView and SHCreateShellFolderViewEx instead.
svn path=/trunk/; revision=75289
Colin Finck [Wed, 5 Jul 2017 15:29:13 +0000 (15:29 +0000)]
[PRINTING]
Apply a consistent style to all similar functions:
- Spoolss functions don't necessarily set ERROR_SUCCESS. Check the boolean return value instead and only query the error code on failure.
- Use AlignRpcPtr and UndoAlignRpcPtr wherever feasible.
- Use one static function per level that can be called from both Get* and Enum* APIs.
- Use PackStrings in all functions that return structures with strings.
- Add TRACEs to all non-static functions in localspl.
- Pass a double pointer to all Marshalling functions and advance to the next structure there.
- Perform sanity checks and return the right error codes in a Windows-compatible way.
- Return TRUE when an Enum* API has no elements to enumerate.
Also fixes CORE-12793
svn path=/trunk/; revision=75287
Pierre Schweitzer [Wed, 5 Jul 2017 06:11:10 +0000 (06:11 +0000)]
[RXCE]
- Implement RxFinalizeConnection(), RxOrphanSrvOpens()
- Stub RxOrphanSrvOpensForThisFcb()
[RDBSS]
- Fix a bug in RxCommonDevFCBClose() where prefix table wasn't acquire exclusively; this was problematic due to potential prefix table removal on dereference
- Stub RxCancelNotifyChangeDirectoryRequestsForVNetRoot()
This commit basically allows you to delete a NFS share you would have made use of in ReactOS.
Like net use z: \\share\path can be deleted through net use /delete z:
Note that if you access the share using cmd tools (dir, copy, more, and so on), dismount will work.
If you attempt to access with Explorer, then, handles will be kept open and dismount will fail.
CORE-8204
CORE-11327
svn path=/trunk/; revision=75286
Pierre Schweitzer [Wed, 5 Jul 2017 05:40:01 +0000 (05:40 +0000)]
[MPR]
Import Wine commit:
-
26192671700360859cd8a0133dabcd96ec1a786b, Implement WNetConnectionDialog().
CORE-13516
svn path=/trunk/; revision=75285
Hermès Bélusca-Maïto [Wed, 5 Jul 2017 02:02:43 +0000 (02:02 +0000)]
[WELCOME]: UI improvements:
- Allow only one running instance of the Welcome application at a time.
- Implement translating \xhhhh hexadecimal character specifications in topic text descriptions.
- Allow using the keyboard for navigating amongst the topics, and ENTER key presses to run the selected topic command.
<rant> *OF COURSE*, because we are ReactOS *SO* we are *buggy* (well, user32/win32k), keyboard navigation via arrow keys *DOES NOT WORK*!! (only navigation via TAB key do work) 8^(((( </rant>
This however works OK on Windows.
- Improve topic buttons activation when mouse hovers around above the window, as well as when window activation is lost or regained.
- Change the default text font to Tahoma.
- Don't hardcode white brush, but instead use stock object WHITE_BRUSH. Similarly, don't hardcode text black colour, but instead use the ambient text colour of the system.
- Add keyboard shortcuts to the default topic items.
- Shift the window ID of both the checkbox and the Exit buttons to be below a fixed topic-button base ID.
- In GetLocaleName(), use more explicit returned-variable names (cchRet, because it's a returned string length in character numbers).
svn path=/trunk/; revision=75282
James Tabor [Mon, 3 Jul 2017 20:39:50 +0000 (20:39 +0000)]
[GDI32_WINETEST]
- Sync with Wine main head 2017-07-03.
svn path=/trunk/; revision=75275
Mark Jansen [Mon, 3 Jul 2017 20:33:36 +0000 (20:33 +0000)]
[USER32_APITEST] Add tests to validate the messages sent during MDI window creation. CORE-12052
The test passes from 2k3 - 10.
svn path=/trunk/; revision=75274
Pierre Schweitzer [Sun, 2 Jul 2017 20:39:48 +0000 (20:39 +0000)]
[NET]
On dismount, you can either use: net use /delete <drive>: or net use <drive>: /delete
CORE-13517
svn path=/trunk/; revision=75271
Eric Kohl [Sun, 2 Jul 2017 20:21:27 +0000 (20:21 +0000)]
[NETAPI32]
- Add DsGetDcSiteCoverageA stub.
- Implement DsGetDcSiteCoverageW.
[SDK/INCLUDE]
Add DsGetDcSiteCoverageA/W prototypes to dsgetdc.h.
svn path=/trunk/; revision=75270
Pierre Schweitzer [Sun, 2 Jul 2017 20:10:16 +0000 (20:10 +0000)]
[RXCE]
Assorted fixes:
- Avoid list corruption
- Avoid stack corruption
- Avoid ASSERT on FCB reuse for same file type
CORE-11327
svn path=/trunk/; revision=75269
Eric Kohl [Sun, 2 Jul 2017 18:29:38 +0000 (18:29 +0000)]
[NETAPI32]
- Add DsAddressToSiteNamesA stub.
- Implement DsAddressToSiteNamesW.
[SDK/INCLUDE]
Add DsAddressToSiteNamesA/W and DsAddressToSiteNamesExA/W prototypes to dsgetdc.h.
svn path=/trunk/; revision=75268
Pierre Schweitzer [Sun, 2 Jul 2017 17:08:27 +0000 (17:08 +0000)]
[COPYSUP]
Addendum to r75265 (bis)
svn path=/trunk/; revision=75267
Pierre Schweitzer [Sun, 2 Jul 2017 17:04:12 +0000 (17:04 +0000)]
[RDBSS]
Addendum to r75265
svn path=/trunk/; revision=75266
Pierre Schweitzer [Sun, 2 Jul 2017 17:00:11 +0000 (17:00 +0000)]
[RDBSS]
- Implement RxCloseAssociatedSrvOpen(), RxFastIoRead(), RxPurgeNetFcb(), RxRemoveShareAccess(), RxRemoveShareAccessPerSrvOpens()
- Continue implementation of RxCommonCleanup() to handle allocated SRV_OPEN
- Halfplement RxFastIoCheckIfPossible() so that it handles read operations
- Stub RxCancelNotifyChangeDirectoryRequestsForFobx()
[RXCE]
- Implement RxChangeBufferingState(), RxFinalizeSrvOpen(), RxFreeFcbObject(), RxGatherRequestsForSrvOpen(), RxGetDeviceObjectOfInstance(), RxInitializeRxTimer(), RxMarkFobxOnCleanup(), RxMarkFobxOnClose(), RxpDiscardChangeBufferingStateRequests(), RxpDispatchChangeBufferingStateRequests(), RxpLookupSrvOpenForRequestLite(), RxpMarkInstanceForScavengedFinalization(), RxPostOneShotTimerRequest(), RxPrepareRequestForReuse(), RxProcessChangeBufferingStateRequestsForSrvOpen(), RxpUndoScavengerFinalizationMarking(), RxPurgeChangeBufferingStateRequestsForSrvOpen(), RxPurgeFobxFromCache(), RxRemoveNameNetFcb(), RxScavengerTimerRoutine(), RxTimerDispatch()
- Finish implementation of RxDereference() to handle scavenger
- Finish implementation of RxLowIoCompletionTail() to handle blocked operations resume
- Fix a bug in RxFinalizeNetFcb() where it was dereferencing its NET_ROOT instead of its V_NET_ROOT
- Fix bugs in __RxAcquireFcb() where it improperly handled the lack of RX_CONTEXT
- Halfplement RxResumeBlockedOperations_ALL() to extract blocked operations from RX_CONTEXT (and drop them...)
- Stub RxDispatchChangeBufferingStateRequests(), RxScavengerFinalizeEntries()
[COPYSUP]
- Implement FsRtlCopyRead2()
This library is basically what you can find in FsRtl with an extended support of Top Level IRP. It is used by RDBSS for FastIO. Next to come in it will be FsRtlCopyWrite2().
This commit brings several improvements to current work on RBDSS/RXCE. First of all, both libraries will leak less (again!).
It also brings the scavenger infrastructure (not fully fonctionnal though). Our NFS driver doesn't make use of it though.
Finally, this brings support of FastIO (for read operations ;-)) to our NFS driver!
Regarding CORE-13484, with copy + FastIO I could copy a file without troubles. But that seems to be still problematic with xcopy without FastIO...
CORE-13484
CORE-11327
svn path=/trunk/; revision=75265
Mark Jansen [Sun, 2 Jul 2017 11:56:01 +0000 (11:56 +0000)]
[SHIMDBG] Output both to the console and the debug output + fix a copypasta error.
svn path=/trunk/; revision=75264
Mark Jansen [Sun, 2 Jul 2017 11:50:38 +0000 (11:50 +0000)]
[REGEDIT] Pre-select the text in the edit dialog.
svn path=/trunk/; revision=75263
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