Commit graph

86 commits

Author SHA1 Message Date
Joachim Henze abbe656407 [SDK][NDK][PSTYPES] Fix regressions CORE-17247 & CORE-17248
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
2020-09-07 20:32:00 +02:00
George Bișoc f87fb4e3df
[NTOS:RTL] Implement the kernel-mode version of RtlGetNtProductType (#3029)
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.
2020-08-26 17:40:45 +03:00
Thomas Faber 2c4a554d72
[NDK] Complete range list function & structure declarations. CORE-6372
* 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.
2020-08-15 21:31:29 +02:00
Thomas Faber db180c29c7
[NTOS:SE] Implement job case in PsImpersonateClient. CORE-8787 2020-05-17 16:05:00 +02:00
Serge Gautherie aa6e11b549
[NDK][XDK] Add 3 CM_RESOURCE_INTERRUPT_* defines (#2755) 2020-05-14 14:31:53 +02:00
Mark Jansen 362f4b5915
[NDK] Fix RTL_UNLOAD_EVENT_TRACE_NUMBER 2020-04-26 14:35:45 +02:00
Serge Gautherie f44cb6de96
[NDK][NTDLL] RtlGetNtProductType(): Update it with SAL2 annotations 2020-04-26 14:08:58 +02:00
Mark Jansen 234dfd4f2e
[NDK] Fix RTL_DEBUG_INFORMATION definition 2020-04-26 13:44:01 +02:00
Mark Jansen de6e160841
[NDK] Fix BackTrace size in RTL_PROCESS_BACKTRACE_INFORMATION 2020-04-26 13:44:01 +02:00
Mark Jansen 01dc54056f
[NDK] Add STACK_TRACE_DATABASE definition 2020-04-26 13:44:01 +02:00
Katayama Hirofumi MZ 774ef4e80e
[SDK][RTL][NTDLL_APITEST] Add RtlMultipleAllocateHeap and RtlMultipleFreeHeap (#2641)
- Add RtlMultipleAllocateHeap and RtlMultipleFreeHeap functions (2k3+).
- Add a testcase for two functions.
CORE-12026
2020-04-24 17:45:43 +09:00
Hermès Bélusca-Maïto 7e0927a39f
[FLTMGR][NDK] Fix typos. 2020-04-09 16:05:26 +02:00
Vadim Galyant 3c585d0e38
[NTOS:MM] Since the _MMPTE_SUBSECTION structure for x86 (without PAE) uses the SubsectionAddressLow truncated by the least significant three bits, the _CONTROL_AREA, _LARGE_CONTROL_AREA, _SUBSECTION, _MSUBSECTION structures must be 8-byte aligned.
Corresponding checks in MmArmInitSystem() have been removed.
2020-04-06 11:16:34 +02:00
Mark Jansen 4b2665046d
[NDK] Ensure RTL_IMAGE_NT_HEADER_EX_FLAG_NO_RANGE_CHECK is available regardless of NTOS_MODE_USER being defined.
CORE-14857
2020-03-29 21:27:38 +02:00
Andreas Maier 782ff23261
[MSV1_0] LsaApLogonUserEx2: use RtlRunDecodeUnicodeString to decode password 2020-03-28 23:27:34 +01:00
Bișoc George 7481bda679
[SDK][NDK][PSTYPES] Align the PROCESS_PRIORITY_CLASS structure during compile time (#2478)
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.
2020-03-28 19:17:10 +01:00
Vadim Galyant ae0e0569d5
[SDK][NDK] MMPTE for PAE (#2453)
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.
2020-03-28 13:45:51 +01:00
Hervé Poussineau ff045b2dbe [NDK] Fix RTL_PAGED_CODE macro in user 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.
2020-03-26 16:39:16 +01:00
Timo Kreuzer a22ab61a87 [SDK] Improve x64 definition of DISPATCHER_CONTEXT 2020-02-09 15:56:30 +01:00
Oleg Dubinskiy 6f232770d3
[NDK][RTL] Implement RtlGetUnloadEventTrace. CORE-16671 2020-02-09 08:37:58 +01:00
Timo Kreuzer fb0ebac349 [NDK][XDK][RTL] Fix definition of RtlFillMemoryUlong on x64 2020-01-03 13:00:45 +01:00
Thomas Faber 053510467f
[NDK] RtlFindCharInUnicodeString is only available in user mode. 2019-12-31 15:17:53 +01:00
Hermès Bélusca-Maïto 28b77a40ca
[NDK][NTOS:INBV] Remove non-exported INBV functions from NDK; do some cleanup in INBV headers; label both InbvSetProgressBarSubset() and InbvSetProgressBarCoordinates() as INIT_FUNCTION since they are used only for the boot splash. And fix MSVC build. 2019-11-25 15:54:45 +01:00
Hermès Bélusca-Maïto 04c8ed493d
[NDK] Addendum to 592f01a5, fix build. 2019-11-25 02:28:08 +01:00
Hermès Bélusca-Maïto 54c03f6965
[NTOS:KD64] Some code formatting + add SAL2 annotations to the functions that are going to be involved in the next commit.
+ s/ReturnStatus/Status/ , and get rid of Win32 LPSTR and replace by
  PCHAR (since the concerned code deals with counted strings).
2019-11-17 23:21:53 +01:00
Hermès Bélusca-Maïto 6c1aac6948
[NTOS] Complete the support of Debug Filters. CORE-13529
- KD64: Update the list of supported Debug Filter Masks (KdComponentTable)
  with the more up-to-date one from KDBG, that includes some components
  that have been added in Vista+, but some of which we also use in ReactOS.

- NtQueryDebugFilterState(), NtSetDebugFilterState() and KdpPrint():
  Add the Vista+ behaviour or falling back to the DEFAULT component ID
  settings for unknown Components (compiled in only wheen NTDDI_VERSION >= NTDDI_VISTA).
  + Remove redundant comments and update these functions with SAL2 annotations.

- KDBG: Add extra documentation for the debug filter components list.

- CONFIG: Load all the supported Debug Filter Masks settings from the
  registry.
2019-11-17 23:21:53 +01:00
Eric Kohl 13bb5e2317 [umpnpmgr][ndk] Implement PNP_RequestDeviceEject() and update unknown type in PLUGPLAY_CONTROL_QUERY_REMOVE_DATA 2019-10-15 22:40:06 +02:00
Mark Harmstone 43a8d871bf
[FREELDR] Set LDRP_IMAGE_INTEGRITY_FORCED if necessary. (Part of PR #1905)
+ Add extra information.
Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2019-10-14 00:49:00 +02:00
Eric Kohl e83b256f65 [NDK] Fix coding style and indentation. No code changes! 2019-10-13 23:50:22 +02:00
Hermès Bélusca-Maïto 7d5577c21e
[SDK][NDK] Add two missing documented GDT selector names.
Add KGDT_NULL and KGDT_VDM_TILE to the list of known GDT name defines.
See https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/dg--display-selector-
2019-10-13 19:57:54 +02:00
Eric Kohl 7633ebcfde [NDK] Add PLUGPLAY_CONTROL_QUERY_REMOVE_DATA type 2019-10-13 15:25:47 +02:00
Pierre Schweitzer 8c7b84bb5c
[SDK] Define RtlGetNativeSystemInformation() 2019-10-02 10:50:59 +02:00
Pierre Schweitzer 3f63f236ba
[SDK] Make our MEMORY_SECTION_NAME definitions consistent.
I choose the definition which is also used by Wine & Chromium.

CORE-12043
2019-09-29 14:18:11 +02:00
Mark Jansen 8a86264f14
[NDK][ARM] Stub a few required types for bootlib 2019-08-20 22:28:11 +02:00
Mark Jansen b5dc79c963
[CMAKE] Some arm cmake fixes 2019-08-20 22:27:59 +02:00
Timo Kreuzer f18958ffa2 [NDK] Add BIOS call API for amd64 2019-08-15 14:13:54 +02:00
Andrew Boyarshin b607e0119f [NTOSKRNL][PS] Implement NtQueueApcThreadEx and use it in NtQueueApcThread
Actually rename NtQueueApcThread to NtQueueApcThreadEx and ignore one additional parameter for now.
2019-08-15 12:32:09 +02:00
Hermès Bélusca-Maïto bdb60afc86
[NDK] Use the correct __REACTOS__ define. 2019-07-29 00:33:19 +02:00
Pierre Schweitzer 522821bb8b [SDK] Add RtlInitString to the NDK 2019-06-30 23:07:54 +02:00
Thomas Faber 6cde208c6b [SDK] Properly define ZwQueryInformationProcess 2019-06-30 23:07:54 +02:00
Eric Kohl 6866c0aede [NTOSKRNL][USETUP][UMPNPMGR] Pass user response data to NtPlugPlayControl(PlugPlayControlUserResponse).
- Windows requires 16 bytes of response data.
- Add the PLUGPLAY_CONTROL_USER_RESPONSE_DATA type.
- Usetup and Umpnpmgr must fail if NtPlugPlayControl(PlugPlayControlUserResponse) does not return STATUS_SUCCESS.
2019-06-12 13:48:27 +02:00
woachk 8e048b8ae9 [NDK/TESTS] The world isn't only amd64 or i386 (#1596) 2019-06-02 00:39:57 +02:00
Mark Jansen 6abe0e50aa
[SDK][SHIMENG] Ensure that module entrypoints are not called while loading the shim engine
This is done by marking everything that is already loaded but not 'processed'.
After the shim engine is done initializing, the original state is restored,
with the exception of the shim engine itself.
CORE-15846
2019-03-14 20:02:01 +01:00
Serge Gautherie 6accaef3c7 [NDK] Fix 'DeletedChidren' typo (#1367)
On behalf of Vadim Galyant.
CORE-15769
2019-02-20 22:16:16 +01:00
Timo Kreuzer 68abf035c6 [NDK] Fix INIT_SECTION for Clang (use the GCC definition) 2019-02-12 19:31:33 +01:00
Mark Jansen e1aae1c620
[RTL] Implement RtlComputePrivatizedDllName_U 2019-02-07 18:48:49 +01:00
Timo Kreuzer 71fefa32db
[NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION (#779)
* Add an NDK header to define INIT_FUNCTION/INIT_SECTION globally
* Use _declspec(allocate(x)) and _declspec(code_seg(x)) on MSVC versions that support it
* Use INIT_FUNCTION on functions only and INIT_SECTION on data only (required by MSVC)
* Place INIT_FUNCTION before the return type (required by MSVC)
* Make sure declarations and implementations share the same modifiers (required by MSVC)
* Add a global linker option to suppress warnings about defined but unused INIT section
* Merge INIT section into .text in freeldr
2018-12-30 12:19:11 +01:00
Serge Gautherie c34fa1e389 [SDK][NDK] Move SYSTEM_POWER_INFORMATION to ntpoapi.h (#869)
As suggested by Thomas Faber. See CORE-12587 for more details.
2018-12-05 13:48:01 +01:00
Andrew Boyarshin 8c710dc518 [SDK] Allow use of SYSTEM_MEMORY_LIST_INFORMATION in kernel code 2018-11-30 10:21:12 +01:00
Mark Jansen 06eb99edef
[NTDLL][KERNEL32] Implement FLS callbacks. 2018-09-15 17:56:03 +02:00