Commit graph

69122 commits

Author SHA1 Message Date
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
Colin Finck
2bd66111fc [ADVAPI32_APITEST]
Fix copy-paste mistakes in messages.

svn path=/trunk/; revision=75206
2017-06-26 15:10:27 +00:00
Mark Jansen
54d38174b1 [APPHELP_APITEST] Add tests for SdbGetMatchingExe, to test matching on version resources. CORE-13284
svn path=/trunk/; revision=75205
2017-06-26 14:58:08 +00:00
Mark Jansen
a04fdc1e99 Missing functions
svn path=/trunk/; revision=75204
2017-06-26 12:50:46 +00:00
Mark Jansen
9102288ea4 Missing include
svn path=/trunk/; revision=75203
2017-06-26 12:47:08 +00:00
Mark Jansen
2ef285e193 [SDK][XML2SDB] Simplify helper functions, output Exe matches + file attributes
svn path=/trunk/; revision=75202
2017-06-26 12:45:01 +00:00
Mark Jansen
5c59bd330a [APPHELP_APITEST:db] Fix the test for Win10, use WCHAR for data paths
svn path=/trunk/; revision=75201
2017-06-26 10:26:57 +00:00
Eric Kohl
41af86fadd [IDL]
Add the Netlogon service interface definition.

svn path=/trunk/; revision=75197
2017-06-25 13:14:06 +00:00
Eric Kohl
31f03442d0 [NETAPI32]
Implement I_BrowserrDebugTrace and I_BrowserServerEnum. This functions calls their counterpart in the computer browser service.

svn path=/trunk/; revision=75196
2017-06-25 12:14:35 +00:00
Pierre Schweitzer
81eba8d3e7 [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
2017-06-25 11:55:37 +00:00
Thomas Faber
db0b0e9ee3 [USBPORT]
- Fix setting the direction in USBPORT_OpenPipe. Patch by Vadim Galyant.

svn path=/trunk/; revision=75194
2017-06-25 08:17:33 +00:00
Sebastian Gasiorek
9cb674f17f - update EDD_DIRECTDRAW_LOCAL, EDD_SURFACE and EDD_DIRECTDRAW_GLOBAL structures
- initial implementation of DxDdCreateD3DBuffer and DxDdCreateSurfaceObject CORE-4490

svn path=/trunk/; revision=75189
2017-06-24 22:24:04 +00:00