Commit graph

67220 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 824c5e07c0 [NTOS:LPC]
- Capture the ServerView/ClientView *only* when those pointers are not NULL.
- Fix a LpcRequest vs. CapturedLpcRequest in a call to LpcpMoveMessage. Caught by Thomas. CORE-7371 CR-100

svn path=/trunk/; revision=73166
2016-11-07 12:35:09 +00:00
Peter Hater 09207124de [MSAFD] Implement SOL_SOCKET/SO_ERROR. CORE-12104
svn path=/trunk/; revision=73165
2016-11-07 08:50:31 +00:00
Hermès Bélusca-Maïto f197af7358 [NTOS:LPC]
- Fix the usage, or add support (for NtSecureConnectPort based on patches by Alexander Andrejevic, and for NtReplyPort, NtReplyWaitReceivePortEx, NtListenPort by me) for capturing user-mode parameters and using SEH in LPC functions.
CORE-7371 #resolve
- Make NtSecureConnectPort call SeQueryInformationToken, now that the latter is implemented since r73122.
- Fix ObDereferenceObject usage for Port vs. ClientPort in NtSecureConnectPort.
- ObCloseHandle certainly needs to be called with the actual 'PreviousMode'.

svn path=/trunk/; revision=73164
2016-11-07 01:24:24 +00:00
Hermès Bélusca-Maïto a066c5bbb0 [NTOS:LPC]: Fix the function prototypes (reference: Process Hacker + how the parameters are used in the code).
[NOTS][NDK]: Fix whitespace in header files.
[XDK]: Define PORT_MAXIMUM_MESSAGE_LENGTH before actually using it in the different IO_ERROR_LOG_xxx #defines, for consistency purposes.

svn path=/trunk/; revision=73163
2016-11-07 01:06:24 +00:00
Hermès Bélusca-Maïto 06807aee1b [NTOS:LPC]: Improve the lisibility of some functions:
- Group together the local parameters used for capturing user variables;
- Add some space between the list of parameters and the beginning of the code proper;
- Rename some variables or move some code to make some different functions look more similar (helps in finding functionality-similar functions in the code);
- Improve some comments;
- Whitespace fixes;
- Few code formatting.
- Use a ExFreePoolWithTag instead of ExFreePool, but otherwise no other functional code changes.

svn path=/trunk/; revision=73162
2016-11-07 00:55:34 +00:00
Giannis Adamopoulos bb59ec3e6e [SHELL32]
- CShellLink: Zero the pointer to mDropTarget by releasing the smart pointer instead of just releasing the object. This lead to a crash every time CShellLink::DragLeave was called.
CORE-11956

svn path=/trunk/; revision=73161
2016-11-06 23:34:22 +00:00
Giannis Adamopoulos f4a1861aab [SHELL32]
- SHOpenFolderAndSelectItems: Take into account buggy applications like firefox that like to pass full pidls in a PCUITEMID_CHILD_ARRAY.

svn path=/trunk/; revision=73160
2016-11-06 22:25:02 +00:00
Giannis Adamopoulos b183748a87 [SHELL32]
- Hackplement SHOpenFolderAndSelectItems by using the /select parameter of explorer.exe and selecting only the first of the requested items.
- Implement the "Find Target" button in the properties dialog of shortcuts to use SHOpenFolderAndSelectItems so as we can test it.
Based on the patch of Joachim Henze (reactosfanboy).
CORE-9367 

svn path=/trunk/; revision=73159
2016-11-06 21:51:46 +00:00
Giannis Adamopoulos 0814bc5358 [SHELL32]
- CDefView: Correct the check for SVSI_EDIT because SVSI_EDIT implies SVSI_SELECT. This actualyl fixes SVSI_SELECT to not cause a rename.

[BROWSEUI]
- ExplorerMessageLoop: Implement the /select parameter for explorer.

svn path=/trunk/; revision=73158
2016-11-06 20:47:21 +00:00
Giannis Adamopoulos 3c58a339dc [SHELL32]
- CDesktopBrowser: The flags that SHOpenNewFrame takes are the same that SHExplorerParseCmdLine returns, not the SBSP_ ones.

[BROWSEUI]
- Move the hack to fill the parsed pidl if none was found to SHCreateFromDesktop.
- Convert the SH_EXPLORER_CMDLINE_FLAG_E flag to a SBSP_EXPLOREMODE and pass it to the CShellBrowser.

svn path=/trunk/; revision=73157
2016-11-06 20:13:17 +00:00
Giannis Adamopoulos ce0d9e3727 [COM_APITEST]
- The new interfaces are not registered in the registry
- Add a few interfaces that were discovered for CLSID_Printers and CLSID_QueryAssociations.

svn path=/trunk/; revision=73156
2016-11-06 18:04:58 +00:00
Giannis Adamopoulos d0aa105b59 [COM_APITEST]
- Test for the undocumented interfaces that were added recently.

svn path=/trunk/; revision=73155
2016-11-06 17:17:57 +00:00
Giannis Adamopoulos 55ed87f042 [SHLGUID_UNDOC.H] -Add several undocumented interfaces taken from http://www.geoffchappell.com/studies/windows/shell/shell32/interfaces/index.htm
svn path=/trunk/; revision=73154
2016-11-06 15:47:35 +00:00
Thomas Faber 42ce59cdd2 [KMTESTS]
- Complete IRPs with STATUS_INVALID_DEVICE_REQUEST by default.
CORE-12295 #resolve

svn path=/trunk/; revision=73153
2016-11-06 15:26:39 +00:00
Hermès Bélusca-Maïto 4ce821ad14 [EVTLIB]: Don't spam the log with "add new record" lines.
svn path=/trunk/; revision=73152
2016-11-06 15:26:20 +00:00
Thomas Faber fa7d321cf7 [MKISOFS]
- Fix build with VS2010 and 2012
CORE-11988

svn path=/trunk/; revision=73151
2016-11-06 14:57:13 +00:00
Johannes Anderwald 99e69d6761 [USBAUDIO]
- partly implement GetDataRangeIndexForFormat

svn path=/trunk/; revision=73150
2016-11-06 13:59:39 +00:00
Thomas Faber 0c93077425 [PSEH]
- Correctly restore the old frame pointer when unwinding in _except_handler3.
CORE-12283 #resolve

svn path=/trunk/; revision=73149
2016-11-06 11:49:19 +00:00
Thomas Faber 52adca06a9 [KMTESTS:RTL]
- Add a test checking stack frame correctness in a nested __finally handler
CORE-12283

svn path=/trunk/; revision=73148
2016-11-06 09:31:09 +00:00
Giannis Adamopoulos 034a3f9f20 [SHELL32]
- Only specific shell folders are supposed to return their display name. Consequently, only CRegFolder reads the registry now to get the display name of items.

svn path=/trunk/; revision=73147
2016-11-05 19:55:29 +00:00
Thomas Faber f2495ba422 [ASM]
- Addendum to r73145 aka fix build

svn path=/trunk/; revision=73146
2016-11-05 18:34:44 +00:00
Thomas Faber 2c8f2ae901 [PSEH]
- Make _except_handler3 human-readable
CORE-12283

svn path=/trunk/; revision=73145
2016-11-05 18:33:50 +00:00
Thomas Faber 7eea8b9401 [CRT]
- Avoid 'except' as a variable name in math.h, for compatibility with SEH tests

svn path=/trunk/; revision=73144
2016-11-05 18:27:30 +00:00
Mark Jansen 91a67de356 [ADVAPI32] Set REG_NONE type in RegQueryValueExW with certain failure cases. Patch by Victor Martinez Calvo. CORE-9666 #resolve #comment Thanks!
svn path=/trunk/; revision=73143
2016-11-05 17:46:30 +00:00
Mark Jansen 5cccca79c2 [ADVAPI32_APITEST] Add tests for RegQueryValueExW. Patch by Victor Martinez Calvo. ROSTESTS-171 #resolve #comment Thanks!
svn path=/trunk/; revision=73142
2016-11-05 17:43:24 +00:00
Mark Jansen f52999c41e [MKISOFS] Silence progress spam.
svn path=/trunk/; revision=73141
2016-11-05 17:28:00 +00:00
Giannis Adamopoulos 3412b511c1 [SHELL32]
- Make most dll dependencies to be delay loaded just like windows.

svn path=/trunk/; revision=73140
2016-11-05 17:04:15 +00:00
Giannis Adamopoulos 55f2b129e3 [SHELL32]
- Add missing resource strings for the description of some shell folders.

svn path=/trunk/; revision=73139
2016-11-05 16:45:41 +00:00
Johannes Anderwald 35e6d1e851 [USBAUDIO]
- store remaining audio bytes in a common buffer, which will be sent on next request
- fixes some of audio distortion issues

svn path=/trunk/; revision=73138
2016-11-05 16:38:59 +00:00
Giannis Adamopoulos f7841638f6 [SHELL32]
- Properly add Printers folder in Control Panel.
CORE-12193

svn path=/trunk/; revision=73137
2016-11-05 16:33:24 +00:00
Mark Jansen 0fe87b6c3c [SHELL32] Improve the choose icon dialog. Patch by Jared Smudde, edited by me. CORE-11792 #resolve
Translators, please check this dialog in your language, some text is changed!

svn path=/trunk/; revision=73136
2016-11-05 16:12:09 +00:00
Thomas Faber 4221bc4d2d [CRT]
- Remove SEH code that's duplicated in the pseh library.
CORE-12283

svn path=/trunk/; revision=73135
2016-11-05 16:05:02 +00:00
Giannis Adamopoulos 072c1d16c8 [SHELL32]
CDesktopBrowser: Forward the parameters pased in CDesktopBrowser::BrowseObject to SHOpenNewFrame. Thus the same parameters are eventually passed to CShellBrowser::Initialize.

[BROWSEUI]
CShellBrowser: Handle SBSP_EXPLOREMODE flag so as to show the tree view when the user selects the Explore option from the context menu.

svn path=/trunk/; revision=73134
2016-11-05 15:05:00 +00:00
Amine Khaldi d12708671c [BASE] Spelling fixes by Josh Soref. CORE-12286
svn path=/trunk/; revision=73133
2016-11-05 14:55:55 +00:00
Giannis Adamopoulos 86fb59915f [BROWSEUI]
- CShellBrowser: Add some checks for failures that we re missing.
- CAddressEditBox: Add some checks for failures that we re missing.
- SHCreateFromDesktop: Actually create the proxy desktop window when needed and keep its handle and prefer it when we try to find the proxy desktop window.
- Wake the message queue of the proxy desktop after a browser thread exits so the proxy desktop can exit when the last browser thread exits.
- Add a hack to prefer to show my documents if we ended up trying to open a browser window with a NULL pidl. This is a hack that is needed because SHExplorerParseCmdLine is broken.
- Finally this fixes using "explorer /separate" and also fixes the separate process to exit when the last browser gets closed (this fix also applies to filebrowser.exe which no longer lives forever).
CORE-12168

svn path=/trunk/; revision=73132
2016-11-05 14:40:55 +00:00
Giannis Adamopoulos 7731fea285 [BROWSEUI]
- CAddressEditBox: Implement handling relative paths in the addressbar of explore in addition to absolute paths.

svn path=/trunk/; revision=73130
2016-11-05 00:09:51 +00:00
Giannis Adamopoulos 6cd367f86e [BROWSEUI]
- CShellBrowser: Add a standard ShellObjectCreatorInit constructor and make its initializer take a pidl and flags.
- Move BrowserThreadProc to desktopipc.cpp where the lifetime of the browser thread will be managed.

svn path=/trunk/; revision=73129
2016-11-04 23:56:02 +00:00
Giannis Adamopoulos 24fcf531e7 [SHELL32]
- Implement comparing child items in CompareIDs method of our IShellFolder immplementation in shell32 as this is the expected behaviour according to tests and documentation.
- This was removed after each folder got its own implementation (we used a single one from wine that did handle it).
May fix CORE-12106.

svn path=/trunk/; revision=73128
2016-11-04 23:11:29 +00:00
Johannes Anderwald c86e482415 [SDK]
- fix build
- thanks learn_more

svn path=/trunk/; revision=73127
2016-11-04 18:38:07 +00:00
Johannes Anderwald ad98e4a993 [SDK]
- add newline

svn path=/trunk/; revision=73126
2016-11-04 18:14:40 +00:00
Johannes Anderwald d84d3c799f [SDK]
- add prototypes

svn path=/trunk/; revision=73125
2016-11-04 18:12:00 +00:00
Johannes Anderwald 20ff103b96 [USBAUDIO]
- fix buffer calculation for usb headsets
- usb headsets now partially work with usbaudio in win2k3

svn path=/trunk/; revision=73124
2016-11-04 18:07:44 +00:00
Peter Hater f3d71d8a6b [MSAFD] Check params on WSAAceept. CORE-12104
svn path=/trunk/; revision=73123
2016-11-04 18:03:15 +00:00
Hermès Bélusca-Maïto 15d77be6fd [NTOS]
- accesschk.c: Remove redundant SepAccessCheck/SepAccessCheckEx pair of private functions; instead just rename SepAccessCheckEx into SepAccessCheck and use it directly in the code. NOTE: SepAccessCheck is *incomplete* (in particular it doesn't retrieve the information needed to initialize the 'Privileges' parameter).
- sid.c: Comments formatting fix.
- token.c:
  * Finish to implement SeQueryInformationToken . This function is really the same as NtQueryInformationToken but without all the stuff needed for user-mode buffer access protection.
  * Some code simplifications in NtQueryInformationToken.
  I need this to fix a "FIXME: Use SeQueryInformationToken" in some code I'm also fixing (& commit later).

[NDK]: Fix parameter types and add annotations to RtlCopySidAndAttributesArray.

[KMTESTS:NTOS_SE]
- Reenable the 'SeQueryInfoToken' test.
- Show that SeQueryInformationToken doesn't support 4 token information classes, which are supported only by NtQueryInformationToken.
- Fix calling of SeAccessCheck. In particular the 'Privileges' parameter is not allocated by the caller, but instead is allocated by SeAccessCheck *and* returned to the caller (who then must free the buffer using SeFreePrivileges). This fixes the encountered BSODs that leaded to disabling preventively the test in r59178.
- Minor code cleaning.

svn path=/trunk/; revision=73122
2016-11-04 17:52:32 +00:00
Giannis Adamopoulos 3430268b90 [SHELL32_APITEST]
- Add extensive tests for SHParseDisplayName. I tried to add as many as possible  but this list of tests is still incomplete. In the meantime I discovered interesting stuff like the "shell:system" path which if you enter in the run dialog will open the system32 folder. I tried to test parsing protocols like ftp paths but couldn't find wht it should look like yet. Afaik all protocol except for the shell protocol like the one mentioned before should be parsed by CInternet class as noted in the appropriate comment in the tests.

svn path=/trunk/; revision=73121
2016-11-04 17:31:53 +00:00
Peter Hater 7f3c674aee [MSAFD] Disable setting blocking mode if there are WSPAsyncSelect or WSPEventSelect pending calls. CORE-12104
svn path=/trunk/; revision=73120
2016-11-04 09:38:21 +00:00
Amine Khaldi 509c345083 [NETCFGX] Compensate for the proper widths until we have sane font support. Suggestion by Jim, patch by Doug Lyons. CORE-12094
svn path=/trunk/; revision=73117
2016-11-04 09:28:44 +00:00
Pierre Schweitzer a343648323 [NTOSKRNL]
In IoWritePartitionTableEx(), don't return STATUS_SUCCESS when we cannot write GPT to higher partitions count than space available; return STATUS_INVALID_PARAMETER.

svn path=/trunk/; revision=73114
2016-11-03 21:49:55 +00:00
Pierre Schweitzer 82425d713b [DISK]
Don't overflow when computing disk size.
Patch by Vort.

CORE-12261

svn path=/trunk/; revision=73113
2016-11-03 21:38:56 +00:00
Pierre Schweitzer ec670d6c25 [NTOSKRNL]
For now, disable broken code in FstubReadPartitionTableEFI(). In its current state, it wrongly assumes backup GPT is broken and thus attempts to fix main GPT (?!).
Furthermore, it appears Windows 2K3 doesn't perform such checks, nor such GPT rewritings in FstubReadPartitionTableEFI().

CORE-12261

svn path=/trunk/; revision=73112
2016-11-03 21:13:30 +00:00