Commit graph

1203 commits

Author SHA1 Message Date
Katayama Hirofumi MZ b4684e9809
[SHLWAPI][SHLWAPI_APITEST][SDK] SHCreatePropertyBagOnRegKey (#5531)
Follow-up to #5511.
- Add CRegPropertyBag class.
- Implement SHCreatePropertyBagOnRegKey function by using CRegPropertyBag.
- Strengthen SHPropertyBag testcase in shlwapi_apitest.
CORE-9283
2023-08-06 20:54:55 +09:00
Katayama Hirofumi MZ b4bc6f0a6a
[SHLWAPI][SHLWAPI_APITEST][SDK] SHCreatePropertyBagOnMemory (#5511)
- Add propbag.cpp.
- Add CBasePropertyBag / CMemPropertyBag classes.
- Implement SHCreatePropertyBagOnMemory.
- Strengthen SHPropertyBag testcase in shlwapi_apitest.
CORE-9283
2023-08-05 21:20:58 +09:00
Katayama Hirofumi MZ 358e45d33a
[SHELL32][SHELL32_APITEST][SDK] Implement SheRemoveQuotesA/W (#5517)
- Implement SheRemoveQuotesA and SheRemoveQuotesW functions.
- Add She testcase into shell32_apitest.
- Add SheRemoveQuotesA/W into <undocshell.h>.
CORE-9277
2023-08-05 19:44:13 +09:00
Katayama Hirofumi MZ 329df0a9e6
[SDK] Add SHPropertyBag_ReadInt/WriteInt prototype (#5522)
Add SHPropertyBag_ReadInt / SHPropertyBag_WriteInt into <shlwapi_undoc.h>.
CORE-9283
2023-08-04 22:53:07 +09:00
Katayama Hirofumi MZ 2e9d03da90
[SHELL32][SDK] Implement SHLimitInputCombo (#5521)
SHLimitInputCombo function sets limits on valid characters for a combobox control.
This function works like SHLimitInputEdit, but the target is a combobox instead of a textbox.
CORE-9277
2023-08-04 22:29:05 +09:00
Katayama Hirofumi MZ 6299340c45
[SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHPropertyBag_ReadGUID etc. (#5491)
- Implement SHPropertyBag_ReadGUID and SHPropertyBag_ReadStream functions.
- Modify shlwapi.spec and shlwapi_undoc.h.
 CORE-9283
2023-08-02 10:35:25 +09:00
Katayama Hirofumi MZ 02b65773a3
[SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHPropertyBag_ReadBSTR etc. (#5487)
- Implement SHPropertyBag_ReadBSTR, SHPropertyBag_ReadStr, SHPropertyBag_ReadPOINTL,
SHPropertyBag_ReadPOINTS, and SHPropertyBag_ReadRECTL functions.
- Add link to oleaut32 in shlwapi_apitest.
CORE-9283
2023-07-27 11:06:49 +09:00
Katayama Hirofumi MZ fe440f7514
[SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHPropertyBag_ReadDWORD etc. (#5479)
- Add VariantChangeTypeForRead helper function.
- Implement SHPropertyBag_ReadType, SHPropertyBag_ReadBOOL, SHPropertyBag_ReadBOOLOld, SHPropertyBag_ReadSHORT, 
SHPropertyBag_ReadLONG, and SHPropertyBag_ReadDWORD functions.
- SHPropertyBag_ReadInt is an alias to SHPropertyBag_ReadLONG.
CORE-9283
2023-07-26 08:21:47 +09:00
Katayama Hirofumi MZ 57ce30b85f
[SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHPropertyBag_WritePOINTL etc. (#5474)
- Implement SHPropertyBag_Delete, SHPropertyBag_WritePOINTL, SHPropertyBag_WritePOINTS, and SHPropertyBag_WriteRECTL functions.
- SHPropertyBag_WriteInt is an alias to SHPropertyBag_WriteLONG.
- Modify shlwapi.spec.
- Modify shlwapi_undoc.h.
- Add SHPropertyBag testcase to shlwapi_apitest.exe.
CORE-9283
2023-07-25 18:19:22 +09:00
Katayama Hirofumi MZ dad99e3bd0
[SHLWAPI][SDK] Implement SHPropertyBag_WriteDWORD etc. (#5467)
CORE-9283
2023-07-24 07:12:05 +09:00
Jérôme Gardou ea331f074c [FRAMEDYN] Do not define GCC <-> MSVC aliases when building the DLL
This fixes some issue when compiling without optimizations on GCC
2023-07-23 23:58:42 +02:00
Adam Słaboń ce2d4740a6
[SDK][HAL] Enable x86Bios on x86 (#5454)
This will be needed for compatibility with x86 Windows Vista/7 videoprt.sys builds.
Might be also useful in future for platforms (x86 , ...) where V86 mode is not available or buggy.

CORE-11954, CORE-18185
2023-07-20 21:44:44 +02:00
Katayama Hirofumi MZ 726c46d2da
[CMD][SDK][WINSRV] DIR command: Consider double-width characters (#5442)
The "dir /w" command didn't look good due to unaligned columns.
- Add sdk/include/reactos/cjkcode.h header file.
- Add ConGetTextWidthA/W helper functions.
- Add base/shell/cmd/wcwidth.c to implement ConGetTextWidthW.
- Use ConGetTextWidth in DirPrintWideList function.
- Adjust some STRING_DIR_HELP5, STRING_DIR_HELP6 and STRING_DIR_HELP8 resource strings to make the column aligned.
CORE-17591
2023-07-17 07:03:22 +09:00
Andrei Miloiu aff9e90f31
[NETEVENT][MC] Add Romanian (ro-RO) translation to message table (#5431) 2023-07-17 00:16:45 +03:00
Dmitry Borisov c0c57e2324 [PCIIDEX] Improve and fix the driver
- Fix IRP handling, add missing IRP handlers
- Specify the device name for DO
- The legacy IRQ descriptor is edge-triggered
- Improve pool tagging
- Place the PNP code in a pageable section

CORE-17256
2023-07-16 13:20:30 +03:00
Dmitry Borisov 293fc8dc34 [DDK:IDE] Add SAL2 annotations 2023-07-16 13:20:30 +03:00
Eric Kohl 0616df11e6 [PSDK] Fix issues with callback function type declarations 2023-07-15 12:59:06 +02:00
Eric Kohl c0e70a8e31 [PSDK] Add the netsh.h header file 2023-07-10 22:30:36 +02:00
Hermès Bélusca-Maïto 122eaeb6ad
[VIDEOPRT] VideoPortGetAccessRanges: Add doxygen doc, SAL annotations and minor formatting. 2023-06-28 17:22:00 +02:00
Hermès Bélusca-Maïto de6313d89e
[VIDEOPRT] Reformat VideoPortVerifyAccessRanges()
Fix indentation, add SAL annotations and Doxygen description.
2023-06-25 21:25:07 +02:00
Hermès Bélusca-Maïto bd5209d9f4
[HALX86] These HalpNo* functions are actually _implemented_. Document their purpose.
Remove the misleading comment in HalpNoBusData().
Update the SAL annotations.
2023-06-25 21:25:06 +02:00
Oleg Dubinskiy e034377b51
[WIN32SS][ENG][NTDDRAW] Manage DirectDraw instances when switching display mode (#4519)
CORE-17932

[ENG] Implement DirectDraw management in switch display mode functions
(e.g. resolution change, color depth, display frequency etc.):

- Switch DirectDraw instances between the two PDEVs (the current one and
  the new one allocated by ourselves) by calling dxg!DxDdDynamicModeChange
  function.

- Suspend them before and resume after the display mode switch, by calling
  dxg!DxDdsuspendDirectDraw and dxg!DxDdResumeDirectDraw appropriately.

We currently don't have these functions implemented, but MS DXG has, so
it allows to properly manage DirectDraw PDEVs using this driver, similarly
to Windows.
My analysis confirms that these functions are always called in XP/2k3 on
display mode switch, even when there is no any DirectX app running at the
moment. Analyzing their prototypes show that my guesses are correct.

- Initialize hDev and dhpdev members for EDD_DIRECTDRAW_GLOBAL for newly
  created surfaces, switch them during mode change and re-initialize after
  it also. They are commonly used by DirectDraw stack.
  In addition, enable DirectDraw for old and new PDEVs, by calling
  dxg!DxDdEnableDirectDraw function.


[NTDDRAW] Additionally, fix usage of DirectDraw lock count in the PDEVOBJ
structure.

- Enable cDirectDrawDisableLocks member for storing its value, instead of
  DxDd_nCount, which is marked as ROS-specific.

- Use it in win32k!DxEngGet/SetHdevData for getting/setting DirectDraw
  count appropriately.

My analysis also shows that in Windows, the PDEVOBJ::cDirectDrawDisableLocks
method calls DxEngGetHdevData with type 8, which corresponds to our DxDd_nCount.
So there are no doubts that this member is used there.

- Rename DxEngGetHdevData_dd_count alias of type 8 to DxEngGetHdevData_dd_locks,
  to match more accurately an actual member name. Update the enumeration
  and fix all code parts appropriately.

All these changes allow to properly change display mode during executing
DirectDraw applications, when they try to switch in full-screen mode.
At least a bugcheck that happened before my changes, does no longer appear.

There are still some games that don't run correctly, as if there is no
3D acceleration (which actually exists). This requires further investigations.
2023-06-21 18:00:24 +02:00
Hermès Bélusca-Maïto 0fbd5eda85
[DDK] storport.h: Add some missing definitions that are in common with srb.h 2023-06-19 21:10:49 +02:00
Hermès Bélusca-Maïto b12069d670
[DDK] srb.h: Introduce Win8+ SCSI_MAXIMUM_BUSES_PER_ADAPTER and comment about the old SCSI_MAXIMUM_* variables. 2023-06-19 21:10:44 +02:00
Hermès Bélusca-Maïto 3bdc062fb9
[PSDK][NDK] Update SYSTEM_PERFORMANCE_INFORMATION definition with Win7+ members.
See https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ex/sysinfo/performance.htm
for more information.
2023-06-15 12:55:08 +02:00
Eric Kohl c3db5e9c8e [ADVAPI32][SECLOGON] CreateProcessWithLogonW: Pass the environment to the callee 2023-06-10 14:10:14 +02:00
Hermès Bélusca-Maïto 2674e26cbb
[NTOS:IO] Reformat iorsrce.c, no functional code changes.
- Fix whitespace; add SAL annotations, doxygen documentation...

- Deduplicate the array of description strings corresponding to
  IO_QUERY_DEVICE_DATA_FORMAT.

- Unhardcode the "[3]" into 'IoQueryDeviceMaxData': the maximum number
  of device data queried.
2023-06-04 21:40:07 +02:00
Hermès Bélusca-Maïto 509359b3ec
[DDK] Add some documentation about the VIDEO_HARDWARE_CONFIGURATION_DATA structure. 2023-06-04 21:40:06 +02:00
Hermès Bélusca-Maïto 2e305b251b
[DDK] Correct PERF_CONFIGURATION_DATA definition. 2023-06-04 21:40:05 +02:00
Hermès Bélusca-Maïto 8d242c6229
[SDK] Add CONFIGURATION_TYPE definition back in arc.h
The definition is also in xdk/iotypes.h and ntddk.h around _ARC_DDK_
for compatibility, but arc.h should also be self-contained regarding
ARC definitions.
2023-06-04 21:40:04 +02:00
Hermès Bélusca-Maïto 789a296c43
[SDK:XBOX] Add missing 'VOID' in empty function prototypes. 2023-06-04 21:40:03 +02:00
Timo Kreuzer 15fbcc19b9 [NTOS:KE/x64] Fix KiConvertToGuiThread
- Do not allocate a new stack, if the thread already has a large one. This prevents the function from freeing a large stack as a normal stack and subsequently leaking system PTEs.
- Fix the check for failure of PsConvertToGuiThread (test eax, not rax, for being negative, because by default rax is zero extended from eax, not sign extended). This fixes an infinite loop on failure.
2023-05-16 22:03:13 +03:00
Katayama Hirofumi MZ 4aff629302
[IMM32][NTUSER][SDK] Add ImmCallImeConsoleIME (#5271)
- Add <jpnvkeys.h>.
- Add imm32!ImmCallImeConsoleIME.
CORE-11700
2023-05-10 14:04:01 +09:00
Katayama Hirofumi MZ 8b948ff062
[KERNEL32][SDK] RegisterConsoleIME and UnregisterConsoleIME (#5270)
The conime.exe program exists in WinXP/Win2k3 and it realizes Console IME. conime.exe calls kernel32!RegisterConsoleIME and kernel32!UnregisterConsoleIME. To realize Console IME, these two functions are required. CORE-11700
2023-05-07 22:55:46 +09:00
Mark Jansen bf29d98a54
[PSDK] Add some more argument names 2023-04-22 18:31:49 +02:00
Joachim Henze 99e5f51d5b
[SDK] Shorten autogenerated Copyright strings (#5210)
that we do compile into almost every dll and exe.
Reduces unnecessary scrolling in the
Versions tab of file properties dlg, which precedes the Copyright phrase anyway.

MS also uses shorter strings and therefore doesn't require to scroll at all.
See attached screenshots in the PR.
2023-04-04 12:10:59 +02:00
Dmitry Borisov 557306f5c0
[DDK:NDIS] Fix definition of broadcast address macro (#5155)
ff:ff:ff:ff:ff:ff is the broadcast MAC address.

CORE-8724
2023-03-18 16:57:52 +01:00
Hermès Bélusca-Maïto f6c8155239
[SDK] driverspecs.h: Add missing dummy _IRQL_limited_to_() definition (when _PREFAST_ is not defined).
Addendum to commit 8a688204.
2023-03-18 03:42:26 +01:00
Hermès Bélusca-Maïto e241c87eea
[SDK] sdkddkver.h: Add NTDDI_* defines for newest Windows 10 and 11 versions.
And add version descriptions, especially for Windows 10 as it becomes messy.

Information from:
- https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlisntddiversionavailable
- Shared/sdk/extdef.h from https://github.com/Mattiwatti/WinObjEx64
- Descriptions from https://github.com/MiroKaku/Veil
- Cross-checked with headers from https://github.com/microsoft/wil
2023-03-14 00:14:12 +01:00
Hermès Bélusca-Maïto a8b09eddc4
[NTOS:KD] Add some annotations. 2023-03-09 18:32:36 +01:00
Joachim Henze 09dde2cff9
[REACTOS] "http://www.reactos" -> "https://reactos" (#5043)
To harmonize, to save some bytes, and last but not least for security reasons.
This can be understood as an addendum to (#2619).
2023-02-06 17:01:52 +03:00
Gabriel Grondin 144e984b40 [ZLIB] Update to v1.2.13. CORE-18752 2023-02-02 02:18:39 +03:00
Victor Perevertkin 1734f29721 [IP][LWIP][TCPIP] Move ip and lwip libraries to drivers/network/tcpip
These libraries are used only inside tcpip.sys driver so move them close
to it.
2023-02-01 02:31:14 +03:00
Timo Kreuzer 2154e259e7 [PSDK] Fix definition of DRVCALLBACK for 64 bit 2023-01-04 10:32:28 +01:00
Hermès Bélusca-Maïto 95e5f07084
🎊 🍾 🥳 Happy New Year 2023 to the ReactOS Community! 🎆 ⚛️ ☢️
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
 __,  ,__)            __,  ,__)       __, ,__)        ░▄████▄░▄███▄░▄████▄░▄█▀▀█▄░
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_   ░▀▀░▄██░██░██░▀▀░▄██░░░░▄█▀░
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||    ░░▄██▀░░██░██░░▄██▀░░▄░▀▀█▄░
 (        |  |  ,_|   (                (__|           ░██████░▀███▀░██████░▀█▄▄█▀░
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
2023-01-01 00:00:00 +03:00
Timo Kreuzer 3b437b8a1c [NDK] Fix definition of RTL_DEBUG_INFORMATION
Fixes ntdll_aiptest RtlDebugInformation on x64
2022-12-30 11:19:26 +01:00
Timo Kreuzer 918c98a239 [NDK] Fix definition of LDR_ENUM_RESOURCE_INFO
This fixes ntdll_apitest LdrEnumResources on x64 Windows
2022-12-30 11:19:26 +01:00
Timo Kreuzer 081c637c06 [XDK] Silence some GCC x64 warnings 2022-12-01 15:21:59 +02:00
Timo Kreuzer 06f1ac5fa4 [CRT] Add a workaround for CORE-18255 2022-12-01 15:21:59 +02:00
Hermès Bélusca-Maïto 8398b28ae4
[PSDK] Fix x64 incompatibilities in ***Box_GetItemData(). Addendum to 6572dd7f4. 2022-11-28 15:02:39 +01:00
Thomas Faber 991e2bd45b
[LIBPNG] Update to version 1.6.39. CORE-18670 2022-11-27 10:10:53 -05:00
Thomas Faber c5febe93f0
[LIBPNG] Update to version 1.6.38. CORE-18670 2022-11-27 10:10:51 -05:00
Hermès Bélusca-Maïto 3c95c95369
[NDK] Fix description for PIO_APC_ROUTINE.
[RTL] Typo fix.
2022-11-26 02:38:52 +01:00
Thomas Faber 19da1718e5
[LIBXSLT] Update to version 1.1.37. CORE-17766 2022-11-25 09:30:40 -05:00
Thomas Faber 0d5a4166a4
[LIBXML2] Update to version 2.10.1. CORE-17766 2022-11-25 09:30:36 -05:00
Timo Kreuzer 20a6cff4dd [CRT] Implement _InterlockedCompareExchange128 intrinsic for GCC 2022-11-24 21:17:58 +02:00
Hermès Bélusca-Maïto f7024d6c72
[PSDK][NTOS:KD64] Turns out, that even Clang in MSVC mode needs the 64-bits pointer extension hack!
Addendum to commit de81021ba.
Otherwise, we get the following build error:

 \ntoskrnl\kd64\kddata.c(532,5): error: initializer element is not a compile-time constant
      PtrToUL64(RtlpBreakWithStatusInstruction),
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 \ntoskrnl\kd64\kddata.c(526,26): note: expanded from macro 'PtrToUL64'
 #define PtrToUL64(x)    ((ULPTR64)(x))
                          ^~~~~~~~~~~~
2022-11-24 13:30:43 +01:00
Thomas Faber 911153da10
[LIBXML2] Update to version 2.10.0. CORE-17766 2022-11-23 22:02:47 -05:00
Thomas Faber 21ab4d93c7
[LIBXSLT] Update to version 1.1.36. CORE-17766
This version was released after libxml2 2.10.0, but it removes
usage of some now-deprecated functions that would break the build.
2022-11-23 22:02:43 -05:00
Hermès Bélusca-Maïto de81021bab
[PSDK][NTOS:KD64] Rename GCC_ULONG64 to ULPTR64 to self-document the fact it stores a pointer as a 64-bit quantity.
But the underlying GCC stupidity is still there (15 years later).

However, enable it only in 32-bit GCC builds, not in 64-bits nor with MSVC.
See commit b9cd3f2d9 (r25845) for some details.

GCC is indeed still incapable of casting 32-bit pointers up to 64-bits,
when static-initializing arrays (**outside** a function) without emitting
the error:

  "error: initializer element is not constant"

(which might somehow indicate it actually tries to generate executable
code for casting the pointers, instead of doing it at compile-time).

Going down the rabbit hole, other stupidities show up:

Our PVOID64 type and the related POINTER_64 (in 32-bit archs), or the
PVOID32 and POINTER_32 (in 64-bit archs), are all silently broken in
GCC builds, because the pointer size attributes __ptr64 and __ptr32,
which are originally MSVC-specific, are defined to nothing in _mingw.h.
(And similarly for the __uptr and __sptr sign-extension attributes.)

Clang and other sane ompilers has since then implemented those (enabled
with -fms-extensions), but not GCC. The closest thing that could exist
for GCC is to do:

  #define __ptr64 __attribute__((mode(DI)))

in order to get a 64-bit-sized pointer type with

  typedef void* __ptr64 PVOID64;

but even this does not work, with the error:

  "error: invalid pointer mode 'DI'"
2022-11-24 01:18:16 +01:00
Hermès Bélusca-Maïto 1c0950b557
[PSDK][NTOS:KD64] Update the KDDEBUGGER_DATA64 structure with new fields.
Information from the Windows 10 SDK and from
https://github.com/DarthTon/Blackbone/blob/master/src/BlackBoneDrv/NativeStructs.h
2022-11-24 01:18:15 +01:00
Hermès Bélusca-Maïto 1847474aaa
[PSDK] Clarify the FIXME comment about this mysterious warning.h (here for WDK compatibility). 2022-11-24 01:18:11 +01:00
Thomas Faber 8940614a78
[LIBXML2] Update to version 2.9.14. CORE-17766 2022-11-21 19:46:12 -05:00
Thomas Faber 7244e0c5c6
[LIBXML2] Update to version 2.9.13. CORE-17766 2022-11-21 19:46:12 -05:00
Thomas Faber f7671c1be8
[LIBXSLT] Update to version 1.1.35. CORE-17766 2022-11-21 19:46:11 -05:00
Thomas Faber e524b1bcf6
[LIBXSLT] Improve sync with upstream. CORE-17766
Makefile.am: this hasn't been updated in a while
security.c: WIN32 -> _WIN32 to keep the ROS-diff consistent with the rest
win32config.h/libxslt.h: remove unnecessary ROS-diff
xsltwin32config.h: this was missed in the 1.1.34 sync
xsltexports.h: mark a ROS-diff as such
2022-11-21 19:46:08 -05:00
Hermès Bélusca-Maïto 56be4eafd5
[NTOS:IO][NDK] Add the exported IoDeleteDriver to the NDK headers. 2022-11-18 18:11:26 +01:00
Hermès Bélusca-Maïto 2dddbd5c54
[SMSS] Fix three SmpLoadSubSystem bugs related to the SB_CREATE_SESSION callback.
This fixes starting the Windows 2000 POSIX subsystem in ReactOS.

- The CreateSession pointer was initialized against the SbApiMsg variable, but
  it was the other SbApiMsg2 that was being initialized and sent through LPC.

- Do not overwrite the MuSessionId (Terminal Services session ID) variable with
  the generated environment subsystem session ID from SmpAllocateSessionId().

- Actually initialize the SbApiMsg ApiNumber for the CreateSession LPC call.

(dll\win32\kernel32\client\proc.c:3690) Retrying with: POSIX /P C:\ReactOS\system32\posix\ls.exe /C ls
Breakpoint 1 hit
csrsrv!CsrSbApiRequestThread+0x64:
001b:1000ac34 837dfc00        cmp     dword ptr [ebp-4],0
kd> ??ReceiveMsg
struct _SB_API_MSG
   +0x000 h                : _PORT_MESSAGE
   +0x018 ConnectionInfo   : _SB_CONNECTION_INFO
   +0x018 ApiNumber        : 0xcccccccc (No matching name)
   +0x01c ReturnValue      : 0n0
   +0x020 u                : <unnamed-tag>
kd> p
...
(base\system\smss\smsubsys.c:393) SMSS: SmpLoadSubSystem - NtRequestWaitReplyPort Failed with  Status c0000002 for sessionid 2
...
<Retrying>
...
(base\system\smss\smsubsys.c:393) SMSS: SmpLoadSubSystem - NtRequestWaitReplyPort Failed with  Status c0000002 for sessionid 3

All those bugs could have been avoided *IF*, rather than (badly) duplicating
its code, the existing SmpSbCreateSession() function had been used instead.

- "Not sure these field mean what I think they do -- but clear them" ... ◔_◔
  Those fields are related to the debug client interface (DbgUi) and session
  in case the subsystem being started is going to be debugged. These have
  nothing to do with the MuSessionId. Clarify this in the SB_CREATE_SESSION_MSG
  structure and in the SmpSbCreateSession() function.
2022-11-14 00:10:35 +01:00
Hermès Bélusca-Maïto 06a0451415
[SMSS][CSRSRV] Undefine CreateProcess symbol. Name the union inside SB_API_MSG.
Undefine CreateProcess because it can be #define'd (to CreateProcessA/W)
if winbase.h is included prior (as it is in SMSS).
2022-11-14 00:10:32 +01:00
Katayama Hirofumi MZ e1f8b32c3d [INCLUDE][USER32] Add WM_FINALDESTROY and improve ImeWndProcA/W
CORE-11700
2022-11-13 09:59:17 +09:00
Hermès Bélusca-Maïto 9f48c69231
[SMLIB][SMSS] Implement SmLoadDeferedSubsystem() client and server-side. (#4821)
Loosely based on the deprecated ReactOS-specific SmExecuteProgram().
On server-side, we lookup into the list of deferred subsystems that
has been initialized at init time.

Dedicated to Justin Miller (The_DarkFire) work on reviving the
POSIX subsystem!
2022-11-08 17:41:02 +01:00
Hermès Bélusca-Maïto 0e14378d3e
[SMDLL][SMLIB] Deprecate the legacy ROS-specific SMDLL and improve SM client functions. (#4821)
This DLL was exporting legacy NT-incompatible or ROS-specific SM client
functions, that have been since 10 years now (2012) replaced by the new
NT-compatible SM:

- SmConnectApiPort(): was just SmConnectToSm().

- SmCompleteSession():
  The legacy SMSS used it for when a subsystem initialization was finished.
  Now (NT-compatible) this function is called by subsystems **only** when a
  subsystem session **terminates**: SmSessionComplete().

- SmExecuteProgram(): was just the client side of SmLoadDeferedSubSystem()
  (whose server side is not implemented yet). The legacy SM "old" SmExecPgm
  implementation actually was "SmLoadDeferedSubSystem"...

- SmLookupSubsystem(): is a utility-only function to read any registry value
  inside "Session Manager\SubSystems".

Move SMDLL's readme into SMLIB and update its contents.

Collect some residual useful functions into smutils.c (and moved in SMLIB,
though not compiled yet):
- SmExecuteProgram(), now implemented as a wrapper around SmExecPgm();
- SmLookupSubsystem(), described above;
- SmQueryInformation(), that retrieves a list of currently-running subsystems.

[SMLIB] Validate SbApiPortName's length in SmConnectToSm().
Fix CommandLine length validation in SmStartCsr().

Add documentation (+ SAL annotations) to the NT-compatible SMSS client functions.

smmsg.h: Add both Win32 and Win64 struct sizes C_ASSERTs for those whose size
change between these two processor architecture sizes.

[SMLIB] Introduce SmSendMsgToSm() as helper to send data into the SM LPC port.
+ Make the other API functions use it.

It should be observed that in Vista+, both functions SmConnectToSm() and this
new SmSendMsgToSm() are exported by NTDLL under the names RtlConnectToSm()
and RtlSendMsgToSm() (and use the same signature).
See: https://www.geoffchappell.com/studies/windows/win32/ntdll/history/names60.htm

[NTDLL] Correctly stub RtlConnectToSm() and RtlSendMsgToSm().
[NTDLL_VISTA] Link to SMLIB and simply export RtlConnectToSm() and RtlSendMsgToSm().
2022-11-08 17:40:53 +01:00
Katayama Hirofumi MZ 140aa11c36
[SHELL32] shlexec: Initial support of App Paths (#4850)
- Fix SHELL_TryAppPathW helper function by using SHRegQueryValueExW function.
- Fix SHRegQueryValueExA/W functions.
CORE-11335
2022-11-08 09:23:06 +09:00
Katayama Hirofumi MZ 1a1a8a8303
[SHELL32][INCLUDE] Fix PathResolve for double-backslash (#4833)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

Fix shell32!PathResolve and shell32!PathQualifyExW functions for double-backslash. However it doesn't fix CORE-15204.
CORE-18080, CORE-15204
2022-11-04 21:44:46 +09:00
Hermès Bélusca-Maïto e944dfa75f
Remove '.html' from spdx.org license page URLs. (#4845) 2022-11-03 18:25:37 +01:00
Hermès Bélusca-Maïto 4ac263c93a
[NTOS][NTDLL][NDK] Nt/ZwCreatePagingFile: Fix parameter names + use SAL; fix NTDLL spec file. 2022-11-03 02:55:50 +01:00
Mark Jansen e3ac541360
[RTL] Use RtlApplicationVerifierStop for DPH 2022-11-01 21:26:05 +01:00
Mark Jansen d82185f104
[SDK] Define CCoInit in shellutils 2022-11-01 21:24:14 +01:00
Serge Gautherie b5fcf9fe07
[PSDK] SECURITY_ATTRIBUTES: Remove size_is(nLength) (#4832)
nLength is the size of the struct itself, not a number of descriptors.
Addendum to 1f12113 (r26428).
2022-11-01 03:14:09 +01:00
Hermès Bélusca-Maïto d8cc88ca80
[KERNEL32][BASESRV] Fix interoperability with Win2k3 regarding NLS section security. (#4828)
Partially revert some aspects of commits 5696e4ba4 and bf40c7a31.
(See PR #4340.)

In order for Win2k3 kernel32.dll to operate with our basesrv.dll (or our
kernel32.dll to operate with Win2k3 basesrv.dll), we need in particular
to have the CreateNlsSecurityDescriptor() helper to exactly take the
expected parameters. Namely, a pointer to a **user-allocated**
SECURITY_DESCRIPTOR buffer, its size (and an access mask).

The function expects its caller to provide all this, and the caller expects
the function to initialize the security descriptor buffer. Note that the
function does *NOT* allocate a new descriptor buffer to be returned!

Indeed, with the way it currently is in master, using Win2k3 kernel32
with our basesrv is now failing with the errors:
```
NLSAPI: Could NOT Create ACL - c0000023.
(subsystems/win/basesrv/nls.c:279) NLS: CreateNlsSecurityDescriptor FAILED!: c0000023
NLSAPI: Could NOT initialize Server - c0000023.
(dll/ntdll/ldr/ldrinit.c:867) LDR: DLL_PROCESS_ATTACH for dll "kernel32.dll" (InitRoutine: 77E40D95) failed
```
(and, if we ever attempted to increase the so-claimed "dummy parameter"
descriptor size in the basesrv call, we would end up with its stack
corrupted and a crash).
Conversely, using our kernel32 with Win2k3 basesrv, would end up with
basesrv receiving a wrongly-initialized descriptor that would not work
(the buffer not being initialized with the contents of a descriptor, but
instead receiving some address to a descriptor allocated somewhere else).
2022-11-01 02:34:04 +01:00
Hermès Bélusca-Maïto b4dfef73e5
[PSDK] Formatting for COPY_FILE_* and FILE_FLAG_* defines.
As flags it's easier to see hex values than decimal numbers.
Also I wonder who made those headers, it's as if they "unformatted" them
on purpose (looks like some autodump from somewhere). Just ugly smh...
2022-11-01 02:29:23 +01:00
Hermès Bélusca-Maïto 8cd01eaf25
[CSRLIB] Add SAL annotations to the CSR client functions. 2022-10-29 17:17:30 +02:00
Hermès Bélusca-Maïto d2aeaba5f8
[CSR][NTDLL] Move the CSR subsystem into its own "csr" sub-directory. (#4802)
Move CSRSS, CSRSRV there, as well as CSR client calls from NTDLL into a "CSRLIB" library.
2022-10-29 17:17:29 +02:00
Mark Jansen 122423238a
[PSDK] Add arguments for SearchPathW 2022-10-19 19:39:29 +02:00
Katayama Hirofumi MZ dff4579bd6 [NTUSER][USER32][INCLUDE] s/SETIMEHOTKEY_DELETEALL/SETIMEHOTKEY_INITIALIZE/
CORE-11700
2022-10-19 12:15:11 +09:00
Katayama Hirofumi MZ 26caef2336 [INCLUDE] immdev.h: Adapt INPUTCONTEXTDX to C++
CORE-11700
2022-10-15 08:13:22 +09:00
Mark Jansen 6a1f287820
[SHELL32] Show file / drive properties at the position where the mouse was.
CORE-18386
2022-10-14 21:02:33 +02:00
Hermès Bélusca-Maïto 0dd6aa6ca5
[WINDOWSX.H] Make header compatible with MS PSDK + Add missing original license. (#4768)
To hypothetical future sync'ers: If you ever try to sync this file with
MinGW-w64, please be extremely careful to port all the fixes (including
x64-compatible casting fixes, missing definitions, etc.) that have been
brought to this file along the years by your dear ReactOS colleagues.
2022-10-12 16:10:35 +02:00
Hermès Bélusca-Maïto 6572dd7f48
[WINDOWSX.H] Fix some x64 incompatibilities. (#4768) 2022-10-12 16:10:22 +02:00
Katayama Hirofumi MZ 2e67c18d2b
[BROWSEUI][INCLUDE] Localize 'Address' on CBandSiteMenu (#4767)
- Add IDS_ADDRESSMENUTEXT resource string (whose ID matchs the string of addressband.rgs).
- Add SHLoadRegUIStringA/W function prototype to <shlwapi_undoc.h>.
- Use SHLoadRegUIStringW to load MenuTextPUI.
CORE-18394
2022-10-11 06:15:28 +09:00
Stanislav Motylkov 3188f93fd4
[PSDK] Add some missing Shell State Flags to shlobj.h
See https://docs.microsoft.com/en-us/windows/win32/shell/ssf-constants

CORE-8427
2022-10-10 18:30:24 +03:00
Peter Meerwald-Stadler 3e1f407439
[ZLIB] Update to v1.2.12. CORE-18339
Upstream commit 21767c654d31d2dccdde4330529
2022-10-10 11:03:41 -04:00
Andrei Miloiu 5b4a145453
[TRANSLATION] Big Romanian (ro-RO) translation update - part 1 (#4701)
- [CALC] Improve Romanian (ro-RO) translation
- [SOLITAIRE] Improve Romanian (ro-RO) translation
- [MSPAINT] Improve Romanian (ro-RO) translation
- [MSTSC] Improve Romanian (ro-RO) translation
- [SNDVOL32] Improve Romanian (ro-RO) translation
- [REACTOS] Improve Romanian (ro-RO) translation
- [USETUP] Improve Romanian (ro-RO) translation
- [DESK] Improve Romanian (ro-RO) translation
- [INPUT] Improve Romanian (ro-RO) translation
- [INTL] Improve Romanian (ro-RO) translation
- [JOY] Improve Romanian (ro-RO) translation
- [MMSYS] Improve Romanian (ro-RO) translation
- [POWERCFG] Improve Romanian (ro-RO) translation
- [SYSDM] Improve Romanian (ro-RO) translation
- [ACPPAGE] Improve Romanian (ro-RO) translation
- [DESKADP] Improve Romanian (ro-RO) translation
- [MYDOCS] Add Romanian (ro-RO) translation
- [NETPLWIZ] Add Romanian (ro-RO) translation
- [NTOBJSHEX] Improve Romanian (ro-RO) translation
- [SENDMAIL] Add Romanian (ro-RO) translation
- [ZIPFLDR] Improve Romanian (ro-RO) translation
- [JSCRIPT] Improve Romanian (ro-RO) translation
- [MSGINA] Improve Romanian (ro-RO) translation
- [SYSSETUP] Improve Romanian (ro-RO) translation
- [MC] Add Romanian (ro-RO) translation

Reviewed-by: Ștefan Fulea <stefan.fulea@mail.com>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: George Bișoc <george.bisoc@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-09 14:00:20 +03:00
Ratin Gao badd97043f
[RTL][NTDLL_APITEST] Implement RtlRemovePrivileges (#4614)
Vista+ API, compile-time guarded.
Add tests for it.
2022-10-05 14:31:39 +02:00
Mark Jansen cd2d284142
[EXPLORER][BROWSEUI][SHELL32][NETSHELL] Fix wrong usage of CComPtr 2022-10-02 00:38:23 +02:00
Artyom Ovsyannikov 3f411c5da7
[REACTOS] Various Russian (ru-RU) translation fixes (#4696)
Reviewed-by: Stanislav Motylkov <binarymaster@mail.ru>
2022-09-15 18:46:03 +03:00
Mark Jansen ab760e539d
[PSDK] Add missing defines / argument names 2022-09-06 21:11:09 +02:00
Mark Jansen 8760852129
[PSDK] Add COWAIT_DEFAULT 2022-09-06 21:11:09 +02:00
Timo Kreuzer 620f9ee71a [NTOS] Add MxCsr handling to trap handlers 2022-08-22 11:22:08 +02:00
Timo Kreuzer 76086220fa [CRT] Fix amd64 floating point control functions 2022-08-22 11:22:08 +02:00