Commit graph

69067 commits

Author SHA1 Message Date
Sylvain Deverre
3e9107ceec [MMIXER] Cleanup mixer notifications opened by an application when it is closed.
CORE-10735 #comment Please retest.

svn path=/trunk/; revision=75183
2017-06-24 13:54:10 +00:00
Sebastian Gasiorek
1f993d692c [DXG] Initial implementation of DxDdLock and better stub for DxDdUnlock
svn path=/trunk/; revision=75182
2017-06-24 13:53:22 +00:00
Sebastian Gasiorek
355e52a599 [WIN32SS][NTDDRAW] Remove debug dump. Forgot about this.
svn path=/trunk/; revision=75181
2017-06-24 13:21:24 +00:00
Sebastian Gasiorek
52f67885e7 [WIN32SS][NTDDRAW] Remove debug dump of structures during ReactX initialisation. It's not needed and shouldn't be commited.
svn path=/trunk/; revision=75180
2017-06-24 12:36:19 +00:00
Sebastian Gasiorek
fa50e67d23 [DXG] Replace wrong PLONG with PBYTE as it was in original development. CORE-13392
svn path=/trunk/; revision=75179
2017-06-24 12:14:01 +00:00
David Quintana
1c5588d156 [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
2017-06-23 23:23:17 +00:00
David Quintana
1777a8d251 [NTOBJSHEX]
Make GCC happy.

svn path=/trunk/; revision=75176
2017-06-23 21:40:19 +00:00
David Quintana
504d12bfff [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
2017-06-23 21:28:36 +00:00
Pierre Schweitzer
f369525725 [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
2017-06-23 19:29:31 +00:00
Pierre Schweitzer
f8e9e5ec4b [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
2017-06-23 19:21:29 +00:00
Hermès Bélusca-Maïto
ab30fb1d60 [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
2017-06-23 17:33:44 +00:00
David Quintana
3dae17b0e7 [NTOBJSHEX]
* Fix gcc build.
* Remove magic.
* Address nitpicks.

svn path=/trunk/; revision=75167
2017-06-22 18:00:57 +00:00
David Quintana
cdb3d06d8d [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
2017-06-22 17:49:42 +00:00
Hermès Bélusca-Maïto
624f4e9319 [WINTERNL.H]: Fix the value of OBJ_VALID_ATTRIBUTES, and add the definition for OBJ_FORCE_ACCESS_CHECK.
svn path=/trunk/; revision=75165
2017-06-22 15:41:44 +00:00
David Quintana
eb4e4b6e9f [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
2017-06-21 22:32:34 +00:00
Hermès Bélusca-Maïto
04201ba762 [CMLIB]: Use the generic allocator functions, and fix build.
svn path=/trunk/; revision=75159
2017-06-20 23:29:54 +00:00
Hermès Bélusca-Maïto
903ac43860 [CMLIB]: Implement the dynamic array of the hive cell reference tracker.
svn path=/trunk/; revision=75158
2017-06-20 23:11:53 +00:00
David Quintana
05bae83b22 [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
2017-06-20 23:03:24 +00:00
David Quintana
3832e3a6d8 [NTOBJSHEX]
Fix crash showing registry keys that have values.
CORE-13456 #resolve

svn path=/trunk/; revision=75156
2017-06-20 21:32:42 +00:00
Giannis Adamopoulos
6af2c49b5f [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
2017-06-20 19:26:37 +00:00
Giannis Adamopoulos
7dea13d496 [USER32_APITEST] -Initial tests for desktop reference numbers.
svn path=/trunk/; revision=75153
2017-06-20 19:25:10 +00:00
Thomas Faber
60382e46c8 [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
2017-06-20 17:15:43 +00:00
Hermès Bélusca-Maïto
03a1f14142 [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
2017-06-20 16:44:40 +00:00
Thomas Faber
e7e6f2ec5f [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
2017-06-20 15:51:47 +00:00
Colin Finck
ecd9852691 That shouldn't have been committed in r75125. Thanks Thomas!
svn path=/trunk/; revision=75149
2017-06-20 14:48:26 +00:00
Colin Finck
b29844edd8 [LOCALSPL]
Add the missing root backslash to the symbolic link path. Fixes CORE-13457

svn path=/trunk/; revision=75148
2017-06-20 06:08:30 +00:00
Hermès Bélusca-Maïto
d5ed3d00c5 [FILESYSTEMS]: Fix printf-like counted string specifiers.
svn path=/trunk/; revision=75147
2017-06-20 00:45:07 +00:00
Hermès Bélusca-Maïto
2716a86ca7 [NTOS:CM]: Simplify code by using suitable assertion macro.
svn path=/trunk/; revision=75146
2017-06-19 23:18:42 +00:00
Jérôme Gardou
cf62382937 [DDK]
- Use FORCEINLINE where appropriate

svn path=/trunk/; revision=75145
2017-06-19 21:17:17 +00:00
Hermès Bélusca-Maïto
547949716c [NTOS]: Addendum to r75142: Use strsafe printf functions (suggested by Thomas).
svn path=/trunk/; revision=75144
2017-06-19 20:37:36 +00:00
Hermès Bélusca-Maïto
a449c39c25 [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
2017-06-19 20:14:09 +00:00
Hermès Bélusca-Maïto
38274203e7 [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
2017-06-19 20:07:15 +00:00
Hermès Bélusca-Maïto
f4518d125d [NTOS]: Improve parameter namings in CmpLinkKeyToHive() and some of its DPRINTs; use UNICODE_NULL where needed.
svn path=/trunk/; revision=75141
2017-06-19 20:04:25 +00:00
Mark Jansen
7117ea3375 [WIN32SS] Rewrite GetFontFamilyInfoForSubstitutes to use the subsitute list loaded at boot. Patch by Katayama Hirofumi MZ. CORE-13064
svn path=/trunk/; revision=75140
2017-06-19 20:00:36 +00:00
Hermès Bélusca-Maïto
e4ca76000c [NTOS]: Improve some DPRINTs, and variables naming + buffer data type in CmpAddToHiveFileList().
svn path=/trunk/; revision=75139
2017-06-19 19:55:14 +00:00
Hermès Bélusca-Maïto
b17ce9c805 [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
2017-06-19 19:50:49 +00:00
Hermès Bélusca-Maïto
87cb029a9a [NTOS]: Fix the ObpLookupObjectName() prototype in regard to r75133.
svn path=/trunk/; revision=75136
2017-06-19 16:47:45 +00:00
Mark Jansen
939e841f4a [APPHELP] Implement Sdb[Un]packAppCompatData and SdbGetAppCompatDataSize. CORE-13284
svn path=/trunk/; revision=75135
2017-06-19 16:37:47 +00:00
Hermès Bélusca-Maïto
3c1c6952b7 [NTOS]: Avoid initializing variables within if-conditions.
svn path=/trunk/; revision=75134
2017-06-19 16:30:17 +00:00
Hermès Bélusca-Maïto
5cb03586f5 [NTOS]: Revert the pool tag change from r75128, and explain in comment why we cannot actually use it.
svn path=/trunk/; revision=75133
2017-06-19 16:29:44 +00:00
Hermès Bélusca-Maïto
8820136bd2 [NTOS]: Fix typos.
svn path=/trunk/; revision=75132
2017-06-19 15:26:08 +00:00
Mark Jansen
8f2f019415 [APPSHIM_APITEST] Addendum to r75041, add a missed line.
svn path=/trunk/; revision=75131
2017-06-19 15:24:05 +00:00
Mark Jansen
7cc3312dde [SHELL32] Partially sync shlexec with wine staging 2.9 CORE-13362 CORE-13407
svn path=/trunk/; revision=75130
2017-06-19 15:04:20 +00:00
Giannis Adamopoulos
615f2ccd2f [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
2017-06-19 14:52:51 +00:00
Hermès Bélusca-Maïto
f43b456462 [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
2017-06-19 14:48:59 +00:00
Giannis Adamopoulos
d19f4a3169 [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
2017-06-19 14:27:51 +00:00
Hermès Bélusca-Maïto
ee591f5b01 [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
2017-06-19 14:24:48 +00:00
Colin Finck
a82d7577b3 [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
2017-06-19 14:18:19 +00:00
Eric Kohl
483bdaa405 [NETAPI32]
Implement I_BrowserQueryEmulatedDomains, I_BrowserResetStatistics and I_BrowserSetNetlogonState. This functions calls their counterpart in the computer browser service.


svn path=/trunk/; revision=75124
2017-06-19 14:06:04 +00:00
Eric Kohl
75c3f8d542 [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
2017-06-19 13:48:40 +00:00