Commit graph

69333 commits

Author SHA1 Message Date
Giannis Adamopoulos 3b7b8b89b3 [SHELL32] -Remove IShellView_Constructor and CDefView_Constructor. Use SHCreateShellFolderView and SHCreateShellFolderViewEx instead.
svn path=/trunk/; revision=75289
2017-07-05 21:36:20 +00:00
Colin Finck 4c022adf19 [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
2017-07-05 15:29:13 +00:00
Pierre Schweitzer f93ac7e964 [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
2017-07-05 06:11:10 +00:00
Pierre Schweitzer d135302c2f [MPR]
Import Wine commit:
- 26192671700360859cd8a0133dabcd96ec1a786b, Implement WNetConnectionDialog().

CORE-13516

svn path=/trunk/; revision=75285
2017-07-05 05:40:01 +00:00
Hermès Bélusca-Maïto d876a3ea01 [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
2017-07-05 02:02:43 +00:00
James Tabor e22e9fc81f [GDI32_WINETEST]
- Sync with Wine main head 2017-07-03.

svn path=/trunk/; revision=75275
2017-07-03 20:39:50 +00:00
Mark Jansen 85dde2e51b [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
2017-07-03 20:33:36 +00:00
Pierre Schweitzer 3ff085924b [NET]
On dismount, you can either use: net use /delete <drive>: or net use <drive>: /delete

CORE-13517

svn path=/trunk/; revision=75271
2017-07-02 20:39:48 +00:00
Eric Kohl c8ee4f6694 [NETAPI32]
- Add DsGetDcSiteCoverageA stub.
- Implement DsGetDcSiteCoverageW.

[SDK/INCLUDE]
Add DsGetDcSiteCoverageA/W prototypes to dsgetdc.h.

svn path=/trunk/; revision=75270
2017-07-02 20:21:27 +00:00
Pierre Schweitzer 07c8bb3ca4 [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
2017-07-02 20:10:16 +00:00
Eric Kohl 84eb2fc018 [NETAPI32]
- Add DsAddressToSiteNamesA stub.
- Implement DsAddressToSiteNamesW.

[SDK/INCLUDE]
Add DsAddressToSiteNamesA/W and DsAddressToSiteNamesExA/W prototypes to dsgetdc.h.

svn path=/trunk/; revision=75268
2017-07-02 18:29:38 +00:00
Pierre Schweitzer cf2dee2914 [COPYSUP]
Addendum to r75265 (bis)

svn path=/trunk/; revision=75267
2017-07-02 17:08:27 +00:00
Pierre Schweitzer 23cc1ba7bf [RDBSS]
Addendum to r75265

svn path=/trunk/; revision=75266
2017-07-02 17:04:12 +00:00
Pierre Schweitzer 0584d49170 [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
2017-07-02 17:00:11 +00:00
Mark Jansen 92ea310563 [SHIMDBG] Output both to the console and the debug output + fix a copypasta error.
svn path=/trunk/; revision=75264
2017-07-02 11:56:01 +00:00
Mark Jansen a386d71b0e [REGEDIT] Pre-select the text in the edit dialog.
svn path=/trunk/; revision=75263
2017-07-02 11:50:38 +00:00
Mark Jansen 14bd8eb6f1 [APPHELP] Propagate applied layers to child processes by setting the env var __COMPAT_LAYER. CORE-13284
svn path=/trunk/; revision=75262
2017-07-02 11:43:54 +00:00
Eric Kohl 35bbb0a567 [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
2017-07-01 23:12:06 +00:00
Sebastian Gasiorek 321c2c1f08 [WIN32K][DXG] DxDdReenableDirectDrawObject: update dhpdev. It is wrong after screen resolution change
svn path=/trunk/; revision=75259
2017-07-01 20:12:37 +00:00
Mark Jansen 711a1cb341 [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
2017-07-01 20:06:30 +00:00
Mark Jansen 1fa3c1a922 [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
2017-07-01 11:37:44 +00:00
Thomas Faber b4533fa94a [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
2017-07-01 06:22:27 +00:00
Thomas Faber 3db54fabc1 [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
2017-07-01 06:19:26 +00:00
Thomas Faber 68430f1260 [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
2017-07-01 06:06:12 +00:00
James Tabor bcea1db7b0 [NtGDI]
- Memory DC with no surface selected return true. WIP and part of CORE-12888.

svn path=/trunk/; revision=75252
2017-07-01 02:35:28 +00:00
James Tabor 9338a7ec63 [NtGDI]
- Memory DC with no surface selected return true. WIP and part of CORE-12888.

svn path=/trunk/; revision=75251
2017-06-30 23:23:33 +00:00
James Tabor c4b72f20c6 [NtGDI]
- Remove DC information checking for non-BLT functions. WIP and part of CORE-12888.

svn path=/trunk/; revision=75243
2017-06-30 00:33:41 +00:00
James Tabor 6554d0079b [PSDK]
- Add EMRGRADIENTFILL, part of CORE-12888.

svn path=/trunk/; revision=75242
2017-06-30 00:17:50 +00:00
Mark Jansen af96013370 [APPHELP] Implement SdbpMatchExe, allowing to match applications / files based on properties. CORE-13284
svn path=/trunk/; revision=75238
2017-06-29 17:32:03 +00:00
Mark Jansen 2fc232f21e [ATL] Add missing CString += overload (char). Patch by Alexander Shaposhnikov. CORE-13503
svn path=/trunk/; revision=75237
2017-06-29 17:09:49 +00:00
Thomas Faber 1931f33c9b [KMTESTS:KERNEL32]
- Add a test for SetFileAttributes/GetFileAttributes
- Add KmtSendUlongToDriver helper and fix some doc comments
CORE-13495

svn path=/trunk/; revision=75236
2017-06-29 16:16:20 +00:00
Thomas Faber 24ac7c8bed [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
2017-06-29 15:30:23 +00:00
Thomas Faber f4e131fa49 [USBPORT]
- Correctly distinguish between current hub status and status change in USBPORT_RootHubSCE. Patch by Vadim Galyant.

svn path=/trunk/; revision=75234
2017-06-29 15:01:47 +00:00
Giannis Adamopoulos 7d2398b6af [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
2017-06-29 09:41:00 +00:00
Thomas Faber 10dc514582 [PSDK]
- Add USB_HUB_CHANGE and USB_HUB_STATUS_AND_CHANGE

svn path=/trunk/; revision=75229
2017-06-29 08:09:44 +00:00
Amine Khaldi dc50f1da19 [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
2017-06-28 23:23:01 +00:00
Hermès Bélusca-Maïto 922e006ea6 [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
2017-06-28 22:17:53 +00:00
Hermès Bélusca-Maïto b44faa47ed [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
2017-06-28 00:04:13 +00:00
Hermès Bélusca-Maïto 60dedbf232 [CMLIB]: Adjust the old-style parameter annotations for two functions.
svn path=/trunk/; revision=75221
2017-06-27 23:46:17 +00:00
Mark Jansen c959a66fb5 [SHIMDBG] Add option to dump file properties.
svn path=/trunk/; revision=75218
2017-06-27 20:27:31 +00:00
Mark Jansen 5e0896e8ab [APPWIZ] Enable the 'Cancel' button while downloading. Patch by Jared Smudde and 'thc'. CORE-9629
svn path=/trunk/; revision=75217
2017-06-27 20:09:53 +00:00
Giannis Adamopoulos 9e4da13034 [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
2017-06-27 10:05:59 +00:00
Colin Finck 20bbfa5624 [PRINTING]
Fix all EnumPrintProcessorDatatypes API tests.

svn path=/trunk/; revision=75215
2017-06-27 07:25:04 +00:00
Eric Kohl 26d220be5e [IDL]
Prevent duplicate declaration of NTSTATUS.

svn path=/trunk/; revision=75214
2017-06-26 22:58:26 +00:00
Eric Kohl 64b471340a [IDL]
Prevent duplicate declaration of STRING and PSTRING.

svn path=/trunk/; revision=75213
2017-06-26 22:52:40 +00:00
Eric Kohl 4c3c7daba6 [NETAPI32]
- Add netlogon RPC binding code.
- Implement NetGetAnyDCName. This function calls its counterpart in the netlogon service.

svn path=/trunk/; revision=75212
2017-06-26 22:08:37 +00:00
Pierre Schweitzer 0706d8cb47 [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
2017-06-26 18:10:43 +00:00
Colin Finck ef0ae276af [NETAPI32_APITEST]
Fix GCC build

svn path=/trunk/; revision=75209
2017-06-26 15:43:58 +00:00
Colin Finck e5654cce9f [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
2017-06-26 15:19:07 +00:00
Colin Finck 1525fa31fc [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
2017-06-26 15:16:46 +00:00