Commit graph

219 commits

Author SHA1 Message Date
Eric Kohl 731ef01361 [NEWDEV] Add InstallDevInstEx 2018-10-14 18:19:52 +02:00
Mark Jansen ef202724d8
[SDK] Implement __wine_spec_unimplemented_stub with ntdll functions 2018-10-12 19:30:36 +02:00
Amine Khaldi 82faa151e5 [XDK][PSDK][WINE] Unify ARRAY_SIZE definition for Wine modules. CORE-15127 2018-09-30 23:57:08 +01:00
Eric Kohl da73c81259 [IDL][LSASRV] Improve the credentials interface a little and update the lsa server code accordingly. 2018-09-18 15:55:18 +02:00
Mark Jansen 06eb99edef
[NTDLL][KERNEL32] Implement FLS callbacks. 2018-09-15 17:56:03 +02:00
Pierre Schweitzer a06184a9a4
[WINLOGON] Fix build
Add a specific internal header for MPR and include it in WinLogon.

CORE-15012
2018-09-14 08:15:08 +02:00
Pierre Schweitzer 6f5da265c8
[SDK] Add WNetClearConnections() in the headers for undocumented stuff
CORE-15012
2018-09-11 08:30:31 +02:00
Amine Khaldi 3bf751e046 [USBEHCI_NEW] Bring-in the USB EHCI miniport driver created by Vadim Galyant. (#301) 2018-09-10 09:05:35 +02:00
Eric Kohl 45beb1a523 [PSDK] Add missing struct _GROUP_INFO_3 to lmaccess.h 2018-09-08 22:21:15 +02:00
Pierre Schweitzer 7554829576
[DDK] Add NT6+ implementation for Rx*PrefixTableLock macros 2018-09-08 10:06:40 +02:00
Eric Kohl f5b3a10885 [IDL] Add some Flags SamrSetInformationUser.UserInternal2Information 2018-09-04 22:42:47 +02:00
Eric Kohl 791f331d67 [IDL] Add the undocumented struct _SAMPR_USER_INTERNAL2_INFORMATION to sam.idl 2018-09-02 11:59:19 +02:00
Hermès Bélusca-Maïto cb979bb293
[REACTOS] Introduce a "DEBUGFORMAT" environment variable that allows to select different debug trace formats.
CORE-12671

- The default format is used when no format name is specified: this is
  the one we use so far in ReactOS:

    <debug_class>:(<file>:<line>) <message>

  with "debug_class" being "trace", "warn", "err".

- The "wine" format is the one used by Wine. It can be used when trying
  to diff-compare traces for a module with the corresponding one
  obtained from a Wine run. It can also be useful because the logging of
  Wine-synced code assumes that the function names are automatically
  added by the helper macros "FIXME()", "TRACE()", "WARN()" or "ERR()",
  and not manually inside the logging string given to these macros:
  for example:

    FIXME("(%params) message\n", params);

  displays:

    fixme:<module>:SomeFunc(params) message

- The "extended" (or "ext") format is very noisy and tries to output a
  lot of information; it is a hybrid of the previous two formats:

    <debug_class>:(<file>:<line>):<channel>:SomeFunc <message>

Support for displaying the current process ID is added in
addition to the already existing support for thread ID.
2018-08-30 22:42:50 +02:00
David Quintana ae11022712 [MC] Fix VS2017 build. 2018-08-30 00:27:55 +02:00
Pierre Schweitzer a2f9762020
[SDK] Fix the implementation of the FsRtlIsAnsiCharacter* macros.
These macros should be implemented using the FsRtlTestAnsiCharacter() macro
that performs extended tests, especially for buffer overruns.
This fixes FsRtlIsAnsiCharacterWild(), FsRtlIsAnsiCharacterLegalFat(),
FsRtlIsAnsiCharacterLegalHpfs(), FsRtlIsAnsiCharacterLegalNtfs().

CORE-14067
2018-08-29 08:34:30 +02:00
Joachim Henze 78b6e43d22 [SDK] "0.4.11-dev" Starts here.
tag will be added in next commit.
2018-08-23 01:22:43 +02:00
Timo Kreuzer 279d179ac4
[TRANSLATION] Polish translation of errcodes.mc (0-499) (#777) 2018-08-19 22:46:51 +02:00
Hermès Bélusca-Maïto fd39f92fcb
[INCLUDE][WINLOGON] Rename the STARTF_SCRNSAVER flag to STARTF_SCREENSAVER,
as documented in "Advanced Windows NT" by Jeffrey M. Richter (Microsoft Press),
and in https://is.muni.cz/el/1433/jaro2010/PB167/um/cv5/undocumented_CreateProcess.pdf .

[INCLUDE][SERVICES][WIN32K:NTUSER] Add an undocumented STARTF_INHERITDESKTOP flag
for the STARTUPINFO::dwFlags structure member, whose purpose is to tell Win32k
that the created handles to the window station and desktop to which the
process is connecting to, can be inherited by its child processes.
It is used when starting interactive services.
Observed via API monitoring on Windows 2003.
2018-08-19 22:18:40 +02:00
Paweł Cholewa 8569c905ca [SDK][Translation] Polish translation update (#495)
* Polish translation update in neteventmsg.mc
2018-08-19 19:47:26 +02:00
Timo Kreuzer 2c909db295 [NTOS:OB] Rename object types to their official names to satisfy WinDbg
- Rename ObDirectoryType to ObpDirectoryObjectType and remove it from NDK (this is not exported!)
- Rename ObSymbolicLinkType to ObpSymbolicLinkObjectType
- Remove duplicated ObpTypeObjectType from ob.h
2018-08-17 20:28:45 +02:00
Hermès Bélusca-Maïto ed1de7184c
[SDK][UNDOCUSER] Add undocumented user32.dll SoftModalMessageBox() definition and its structure MSGBOXDATA.
Documented on http://www.vbforums.com/showthread.php?840593-Message-Box-with-Four-Buttons
and augmented from my own testings.

In addition, add also MessageBoxTimeoutA/W() and MB_GetString().
2018-08-17 17:12:20 +02:00
Hermès Bélusca-Maïto 7bfd6858fb
[PSDK] Add IDCANCEL and IDASYNC values (returned by MessageBoxTimeout() and WTSSendMessage() functions). 2018-08-17 17:12:19 +02:00
Mike Swanson 3c7e9bb332 Remove unnecessary executable bits 2018-08-15 18:29:09 +02:00
Eric Kohl 9d26058a8e [UMPNPMGR] Partially implement ReenumerateDeviceInstance which is needed by the Lenovo T400 network driver installer 2018-08-12 22:26:22 +02:00
Eric Kohl 956086d369 [NETAPI32] Add DFS RPC interface and some DFS stubs 2018-08-12 14:31:07 +02:00
Eric Kohl 0a5ccac599 [SRVSVC] Set and retrieve service bits and rename unknown functions
- Service bits are set by NetrServerSetServiceBits and can be retrieved by NetrServerGetInfo.
- The real name of function 42 is NetrServerSetServiceBitsEx and the real name of function 47 is NetrDfsSetServerInfo.
2018-08-05 15:05:19 +02:00
Katayama Hirofumi MZ bfcbda227f [SHELL32] Fix handling of multiple parameters in the 'Run' dialog (#665)
The "Run" dialog failed when multiple parameters wee specified.
We use instead a newly-created ShellExecCmdLine() helper function to fix the problem (as found via API-tracing on Windows).
Note that ShellExecCmdLine() starts to be exported with Vista+.

- Implement ShellExecCmdLine() function in shell32.
- Add URL support.
- Fix RunDlgProc function in shell32.
- Add a testcase for ShellExecCmdLine() function.

CORE-14790
2018-08-05 13:39:17 +02:00
Eric Kohl 620217cec9 [LSASRV][SECUR32] Implement LsaRegisterPolicyChangeNotification and LsaUnregisterPolicyChangeNotification 2018-08-04 22:17:52 +02:00
Timo Kreuzer 6f13066647 [APPLICATIONS] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Timo Kreuzer c1944118ca [USBPORT] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Mark Jansen 370ffd1123
[XDK][NDK] Restore struct alignment for IO_STACK_LOCATION
CORE-14782
2018-07-25 20:22:36 +02:00
Hermès Bélusca-Maïto b1c7fd08e9
[PSDK] Fix a typo. Has also been caught independently by George Bișoc (#686). 2018-07-17 01:59:51 +02:00
Victor Perevertkin 2ae1675208 [ASM] Fixed ".double" macro in asm.inc.
GAS uses ".double" symbol for declaring floating-point constants and
".quad" symbol for declaring 64-bit numbers.
This is not compatible with our macro for MASM and introduces bugs.
Now 64-bit constants are supposed to be declared using ".quad" macro.
2018-07-15 23:25:23 +02:00
Eric Kohl 4ffa0a2e55 [NTOSKRNL][NDK][UMPNPMGR] Define and use PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values
NDK: Define PLUGPLAY_CONTROL_PROPERTY_DATA.Properties and PLUGPLAY_CONTROL_DEVICE_RELATIONS_DATA.Relations values.

NTOSKRNL: Map PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values to IoGetDeviceProperty properties and add (dummy) code for unsupported cases.

UMPNPMGR: Use PLUGPLAY_CONTROL_PROPERTY_DATA.Properties values in PNP_GetDeviceRegProp.
2018-07-15 15:57:57 +02:00
Timo Kreuzer 82b2aef091 [PSDK] Add SymTagENum to dbghelp.h and imagehlp.h 2018-07-14 15:48:23 +02:00
Katayama Hirofumi MZ 75b09f3f88 [EXPLORER][SHELL32][USER32] Implement 'Show the Desktop' action of Task Bar (#668)
The keyboard shortcuts Win+D and Win+M are also enabled.

- Implement IShellDispatch4::ToggleDesktop().
- Implement some commands in CTrayWindow.
- Add "sdk/include/reactos/traycmd.h" for tray commands.
- Fix task window switching.
- Improve the user32!SwitchToThisWindow() function and use it.

CORE-14318, CORE-13157
See also: CORE-14806 and CORE-8723
2018-07-13 10:34:42 +02:00
Katayama Hirofumi MZ a882ec7a02 [SHELL32][EXPLORER] Update system-wide environment variables (#663)
- Implement shell32 RegenerateUserEnvironment() function and use it.
- CShellBrowser and CDesktopBrowser implements WM_SETTINGCHANGE actions.

CORE-1459, CORE-14397
2018-07-08 16:32:42 +02:00
Timo Kreuzer e39876dab7 [SDK] Fix 64 bit issues 2018-07-01 14:45:21 +02:00
Timo Kreuzer ae9e9eaef3 [NDK] Fix definition of MSR_DEBUG_CTL_LBR and MSR_DEBUG_CTL_BTF 2018-07-01 14:45:21 +02:00
Timo Kreuzer 3b78272d39 [NDK] Fix alignment macros and add missing ones
Remove obsolete ALIGN_UP_BY macro definition
2018-07-01 14:45:21 +02:00
Timo Kreuzer ca9fd861aa [DRIVERS][NTOS][NDK] Use IO_STACK_LOCATION instead of EXTENDED_IO_STACK_LOCATION and remove the latter from NDK 2018-07-01 14:45:21 +02:00
Timo Kreuzer 8719252e48 [XDK][NDK] Fix IO_STACK_LOCATION alignments
* Also add missing DIRECTORY_NOTIFY_INFORMATION_CLASS
2018-07-01 14:45:21 +02:00
Timo Kreuzer 03c86af7d5 [XDK] Stop randomly packing structures half throughout ntifs.h / wdm.h
Nothing in there should be packed!
2018-07-01 14:45:21 +02:00
Timo Kreuzer de1b195837 [NDK] Fix the type of KPROCESS::ActiveProcessors
Also fix related logic in KiSwapProcess
2018-07-01 14:45:21 +02:00
Timo Kreuzer 158812409d [NDK] Update x64 version of KEXCEPTION_FRAME 2018-07-01 14:45:21 +02:00
Timo Kreuzer c73c4f0cb3 [MC] Fix build of message text files for latest VS version
* Latest VS does not like half translated files :/
* errcodes.mc is duplicated in kernel32
* It would probably be better to separate each language into it's own file, but we need a build mechanism for that
2018-06-30 21:21:36 +02:00
Timo Kreuzer 79ad68ddc3 [CMAKE] Zap builddir.h.cmake and instead define macros globally
This changes __RELFILE__ to always be relative and not rely on a GCC extension, since __FILE__ is *always* relative to the root.
2018-06-30 13:26:56 +02:00
Serge Gautherie 3766d836c7 [DBGHELP] Fix 3 MSVC warnings about MiniDumpWriteDump() (#643)
- Fixes MSVC errors: "...\dll\win32\dbghelp\minidump.c(857) : error C4028: formal parameter 5 different from declaration", for parameters 5, 6 and 7.
- Fix spec file too.
CORE-7538
2018-06-28 17:44:49 +02:00
Hermès Bélusca-Maïto 4d494caf61
[NTOS:SE] Overhaul the token management code.
- Overhaul SepCreateToken() and SepDuplicateToken() so that they
  implement the "variable information area" of the token, where
  immutable lists of user & groups and privileges reside, and the
  "dynamic information area" (allocated separately in paged pool),
  where mutable data such as the token's default DACL is stored.
  Perform the necessary adaptations in SepDeleteToken() and in
  NtSetInformationToken().

- Actually dereference the token's logon session, when needed, in the
  'TokenSessionReference' case in NtSetInformationToken().

- Overhaul SepFindPrimaryGroupAndDefaultOwner() so that it returns
  the indices of candidate primary group and default owner within the
  token's user & groups array. This allows for fixing the 'TokenOwner'
  and 'TokenPrimaryGroup' cases of NtSetInformationToken(), since the
  owner or primary group being set *MUST* already exist in the token's
  user & groups array (as a by-product, memory corruptions that existed
  before due to the broken way of setting these properties disappear too).

- Lock tokens every time operations are performed on them (NOTE: we
  still use a global token lock!).

- Touch the ModifiedId LUID member of tokens everytime a write operation
  (property change, etc...) is made on them.

- Fix some group attributes in the SYSTEM process token, SepCreateSystemProcessToken().

- Make the SeCreateTokenPrivilege mandatory when calling NtCreateToken().

- Update the token pool tags.

- Explicitly use the Ex*ResourceLite() versions of the locking functions
  in the token locking macros.
2018-06-27 23:40:18 +02:00
Hermès Bélusca-Maïto a3376cd50d
[NDK] Update NtCreateToken() prototype annotations. 2018-06-27 23:40:17 +02:00