- Change INIT_FUNCTION and INIT_SECTION to CODE_SEG("INIT") and DATA_SEG("INIT") respectively
- Remove INIT_FUNCTION from function prototypes
- Remove alloc_text pragma calls as they are not needed anymore
- Deliver pending APCs on trap exit
- Pass the trapframe of KiApcInterrupt to KiDeliverApcs, not NULL.
- Fix parameter passing from KiSwapContext to KiSwapContextInternal and KiSwapContextResume, so that the ApcBypass parameter is not uninitialized
- Fix return value of KiSwapContextResume to correctly indicate whether we want to have APCs directly delivered or not (when there are non, or when delivery is suppressed)
* [COMPILER_APITEST] Import MS EH/SEH tests
Taken from https://github.com/microsoft/compiler-tests
* [CRT] Add missing declaration of _longjmpex
* [COMPILER_APITEST] Add cmake build files for MS SEH test
It is built as a static library
* [COMPILER_APITEST] Fix GCC build of MS SEH tests
There are a number of hacks in there now. Also the volatile hacks should be separated and sent upstream.
* [COMPILER_APITEST] Fix x64 build of MS SEH tests
* [COMPILER_APITEST] Fix clang build of MS SEH tests
* [COMPILER_APITEST] Include MS SEH tests
for vista+ APIs implemented in ntoskrnl_vista.
Now if you statically link ntoskrnl_vista into a driver,
NTKERNELAPI will automatically be removed from an API definition
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 6b1bc0beac510aa48a848b8182b9310f92609dd0 by Jacek Caban <jacek@codeweavers.com>
Based on glibc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 78845911da06fc75c6d74237f816a1547c24b20b by Jacek Caban <jacek@codeweavers.com>
Add support of flag MinidumpWithFullMemory in function
MinidumpWriteDump. A Memory64ListStream is added to the minidump
streams and all memory regions of the process with MEM_COMMIT state
are written to the last part of the minidump file.
Signed-off-by: Eric Bissonnette <ebisso.dev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id b90bbcbe750f6af0ce13f2577984f4818e05a013 by Eric Bissonnette <ebisso.dev@gmail.com>
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id 3b01149d8677fa86addfb67414d793684779c5ce by Andreas Maier <staubim@quantentunnel.de>
Use public_vx iststead of data_vx for public symbols.
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
wine commit id dbcf9728fa13ade68cc9d380002a5f6ae50fc0c0 by Andreas Maier <staubim@quantentunnel.de>
This makes ShellMessageBoxW use the correct implementation where the
text buffer size is dynamic, instead of having a too small hardcoded
size.
Fixes CORE-17271.
See also PR #3172 by Kyle Katarn, supplemented with some ideas from
Mark Jansen.
However we cannot straightforwardly implement ShellMessageBoxA around
ShellMessageBoxW, by converting some parameters from ANSI to UNICODE,
because there may be some variadic ANSI strings, associated with '%s'
printf-like formatters inside the format string, that would also need
to be converted; however there is no way for us to find these and perform
the conversion ourselves.
Therefore, we re-implement ShellMessageBoxA by doing a copy-paste ANSI
adaptation of the shlwapi.ShellMessageBoxWrapW function.
Note that, on Vista+ onwards, shlwapi implements both ShellMessageBoxA/W,
and shell32 directly forwards these exports to shlwapi, thus avoiding
these workarounds.
[PSDK] Explicily use WINAPIV for the variadic ShellMessageBoxA/W functions.
[INCLUDE/REACTOS] Add ShellMessageBoxWrapW in shlwapi_undoc.h .
By reverting the guilty rev 0.4.14-dev-1239-g
7481bda679
and placing a C_ASSERT() to protect us from doing the
same fault again in the future. (proposed by Mark Jansen)
This will allow again to use kernel32.dll from 2k3sp2 to
reach desktop and it will allow Google Earth to run again.
Unfortunately it will break CORE-16757 again,
but we did not ship that improvement yet
and we believe that revert to be correct.
When approaching CORE-16757 later, make sure to double-check
also CORE-17247 & CORE-17248 with your fix.
We did excessive testing here, see
https://jira.reactos.org/browse/CORE-17247?focusedCommentId=125166&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-125166
More forwards to LocalSpl and LocalMon. At sometime will be merged together.
Bug fixes.
Printer Driver code is a wine hack. (WIP)
Added information for shell tray icon notifications.
Sync wine WinSpool driver tests. Unplugged from build.
RtlGetNtProductType comes into two variants: one in user-mode that is exported for use from NTDLL layer and the kernel-mode that is used exclusively by the NT kernel. The kernel-mode variant of the function is not exported.
..\ntoskrnl\vdm\vdmmain.c(91,34): warning: expression does not compute the number of elements in this array; element type is 'unsigned short', not 'char' [-Wsizeof-array-div]
UNICODE_STRING PhysMemName = RTL_CONSTANT_STRING(L"\\Device\\PhysicalMemory");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\ROS\reactos\output-clang\sdk\include\psdk\ntdef.h(1542,15): note: expanded from macro 'RTL_CONSTANT_STRING'
sizeof(s) / sizeof(_RTL_CONSTANT_STRING_type_check(s)), \
~ ^
..\ntoskrnl\vdm\vdmmain.c(91,34): note: place parentheses around the 'sizeof (_RTL_CONSTANT_STRING_type_check(L"\\Device\\PhysicalMemory"))' expression to silence this warning
C:\ROS\reactos\output-clang\sdk\include\psdk\ntdef.h(1542,15): note: expanded from macro 'RTL_CONSTANT_STRING'
sizeof(s) / sizeof(_RTL_CONSTANT_STRING_type_check(s)), \
^
1 warning generated.
* Add the remaining functions & annotate.
* Add the RTLP_RANGE_LIST_ENTRY structure, which is present in symbols
Note: range list declarations should really be !NTOS_MODE_USER, since ntdll
doesn't export these functions; however, our RTL itself is built with
NTOS_MODE_USER, so that's not an option at this point.
These has been first added to DDK 10.0.19041.0 and made backwards-compatible
with all Windows versions since Windows 2000.
Our implementation does not use POOL_ZERO_ALLOCATION flag because it's not
supported by ReactOS yet, and thus erases the memory unconditionally.
Also update the includes.
It will allow to use those declarations globally where they are required (e. g. for SvchostPushServiceGlobals functions in some services).
No functional changes.
Required by vssapi stubs CORE-9511.
Our current vswriter.h has no some needed definitions, but simple adding them in the current header is not an option, since Wine's vsbackup.idl (which is required too) depends on it.
Then it will not need to add ROS-specific diff(s) in Wine's vsbackup.idl.
- Make "ReactOS Server" the default product option again instead of "ReactOS Workstation".
- Write "Service Pack" info onto registry.
- Add ProductOption option to bootcd unattend.inf.
- Delete IDC_PRODUCT_SUITE and IDC_PRODUCT_TYPE controls.
CORE-17028
- Add boot video color constants
- Refactor palette initialization
- Move some common stuff in right place
- Get rid of some magic constants and hardcoded values
- Get rid of TopDelta variable (calculated at compile time)
- Update SAL annotations
Addendum to 5f2ca473. CORE-16216 CORE-16219
- Print message on failed memory allocations.
- Functions return error code instead of exit code.
- Convert error code to exit code in the main function only.
- Always free the allocated memory.
- Fix bug from previous commit: Use _tprintf instead _putts to print messages.
- Move translations to netmsg.dll.
- Keep italian translation as a comment because netmsg.dll does not have an italian translation yet.
- Remove obsolete resource files.
This small win32 library provides time-zone utility wrappers around
Win32 functions, that are used by different ReactOS modules such as
timedate.cpl, syssetup.dll, and a possible future 'tzutil' tool.
The code has been extracted from the common code found in both
timedate.cpl and syssetup.dll.
DiskGeometryGetPartition() and DiskGeometryGetDetect() are guarded in NTDDI_VERSION for version checking as they differ between Windows XP and Server 2003. In conjunction to that, the PARTITION_INFORMATION_EX structure has "IsServicePartition" as member which is missing in the current NT IOCTL Disk interface header.
Shell change notification has been implemented in #2432. But as @yagoulas said, source code structure is in mess. We improved simplicity and human readability of our source code.
- Move wine/changenotify.c code into changenotify.c and shelldesktop/CChangeNotify.cpp.
- Simplify code and rename the identifiers and add many comments. CORE-13950
Need a way to send WM_DEVICECHANGE from the Service manager application.
Next step is to process it in the Client/Server Run-time Subsystem.
See CORE-16492.
This adds missing features like using events and APCs within IcmpSendEcho2
functions and others.
CORE-10742 CORE-14411
Co-authored-by: Tim Crawford <crawfxrd@gmail.com>
Required by Wine's qcap.dll CORE-16350
[DXSDK] Restore all deleted code in axextend.idl to propely fix compilation
Also regularize some parts of added code and replace IAMStreamControl interface
with Wine's one, because otherwise compilation fails.
CORE-16757
After doing investigations on the priority class structure alignment, it's been revealed that in Windows XP and Server 2003 this PROCESS_PRIORITY_CLASS structure is aligned as a 4-bytes of size hence NtQueryInformationProcess() probes the alignment of user mode arguments buffer output and buffer length with requirement of a ULONG.
As PROCESS_PRIORITY_CLASS was initially aligned as a 1-byte size because both BOOLEAN and UCHAR are just unsigned characters, the compiler may not align such structure and gracefully let the default alignment of such structure as is, 1-byte because an unsigned char has a size of 1 byte. Setting an align attribute to this structure fixes the problem of a potential datatype misalignment which caused GetPriorityClass() to not retrieve the process' priority class properly.
This not only makes PAE possible, but also allows to make the definitions and macros in the memory manager header files more human-readable.
CORE-16702
* [SDK][NDK] Make the _MMPTE_HARDWARE structure more compact and more human-readable.
* [SDK][NDK] Add definitions a struct _MMPTE for PAE mode.
NOP_FUNCTION is defined to "(void)0". Calling :
RTL_PAGED_CODE();
in user mode was changed to:
(void)0();
As "0" is not callable, this was leading to a compilation error.
Most of them are unaffected by packing, the ones that are affected have pointers, and packing them will only misalign them, but not making the structures 32 bit compatible.
- Add ARC-emulation support for NEC PC-98 series
- Add global definition for PC-98 port into CMakeLists.txt
- Add floppy verison of freeldr.ini for PC-98 CD boot
* Add missing enums to MSV1_0_PROTOCOL_MESSAGE_TYPE and SECPKG_EXTENDED_INFORMATION_CLASS
* Add missing function entries to LSA_SECPKG_FUNCTION_TABLE and add needed definitions.
* Fix params of PLSA_AP_CALL_PACKAGE
* Fix SpInitializeFn (+ NTAPI)
Author: Puetz Kevin A <PuetzKevinA@JohnDeere.com>
atlbase.h: Fix some declarations on win64.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
- Rename parameters according to [MS_PNPR] (no longer available for download).
- Remove unsupported PNP_DEVINST_MOVE and PNP_DEVINST_DISABLE actions.
- Implement most of the PNP_DEVINST_SETUP action.
Reject invalid input filename characters by using shell32!SHLimitInputEdit function and IItemNameLimits interface. Improve SHLimitInputEdit to sanitize paste.
CORE-11701
- Add "Product Options" wizard page into ReactOS Setup.
- Implement CSIDL_Type_InMyDocuments CSIDL type.
- If the product type is workstation, then some special folders will be in My Documents.
CORE-13795
The code is mostly unchanged. This includes the following changes:
* Move all wine code to crt/wine to keep it separated from our own code
* Add a minimal winternl.h
* Remove the asm macros from wine/config.h
* Include wine/asm.h where required
* Fix the names of the exported functions (GCC uses thiscall now and no wrappers are used anymore)
The "TypeOffset" thing was just an informative comment to tell that the
data that follows after the IMAGE_BASE_RELOCATION header is an arbitrary
array of WORDs describing packed (Type + Offset)s.
Having the header structure containing that spurious "TypeOffset" was
breaking all the code that was basing on expected size of the
IMAGE_BASE_RELOCATION structure in order to apply relocations (typically
this would mean that the first 2 relocations described by it would not
be applied).
Hopefully this bug only hit the host-tools, and not the OS itself :)
- Make the format actually MS-compatible: "ATL" followed by colon,
followed by hexadecimal digits of pointer.
- The MS counterpart of this DLL was delivered with Visual C++ 6.0 and
Windows 98+, so obviously it always was 32-bit and they never had a
64-bit version for it. But we do. So make the size of the m_szAutoName
buffer cross-compatible.
- See previous commit dbddd878 and the discussion in PR #2010.