Commit graph

1013 commits

Author SHA1 Message Date
Timo Kreuzer 486a4d93ed [CRT] Define NULL in crtdefs.h 2021-07-27 22:08:58 +02:00
Katayama Hirofumi MZ ecb0c0963d
[IMM32] Imm(Lock|Unlock)ImeDpi and ImmSetOpenStatus (#3830)
- Add IMEDPI structure to ntuser.h.
- Implement ImmLockImeDpi/ImmUnlockImeDpi functions.
- Rewrite ImmSetOpenStatus function.
- Modify some NTUSER function prototypes.
- Modify imm32.spec.
CORE-11700
2021-07-25 11:57:57 +09:00
Katayama Hirofumi MZ 5afc324359
[IMM32] Improve ImmUnlockClientImc and Imm32HeapAlloc (#3834)
- Fix Imm32HeapAlloc function.
- Fix ImmUnlockClientImc function.
CORE-11700
2021-07-25 11:55:03 +09:00
Mark Jansen 61e7ea5be5
[SHELLUTILS] Fix FAILED_UNEXPECTEDLY macro evaluating twice 2021-07-23 22:10:36 +02:00
Mark Jansen 91e63ee0b5
[FONTEXT] Cache attributes, handle sorting 2021-07-23 22:10:30 +02:00
Timo Kreuzer 5d8e834897 [REACTOS] Fix a number of MSVC warnings 2021-07-23 22:03:48 +02:00
Timo Kreuzer a3763c61dc [PSDK][NDK] Use hex to define MIN/MAX constants like in native SDK
This fixes use of unary minus operator on unsigned type warning.
2021-07-23 22:03:48 +02:00
George Bișoc 506cee3219 [NTOS:SE] Implement logon session termination notification
Note to SELF and EVERYONE: the commit implements the initial logon session termination notification implementation, the SeMarkLogonSessionForTerminationNotification function, but as it currently stands there are several other tasks to be addressed in the future in order for the logon termination notification to be fully completed. The tasks as of which are.

1. Our SepRmDereferenceLogonSession is not fully implemented, as it doesn't inform the LSA and filesystems of logon deletion notification
2. Implement two worker routines that are actually in charge of such tasks of informing LSA and FSDs
3. Perform logon deletion
4. Do further investigations and check whatever that is left to address, if any
2021-07-15 19:31:46 +02:00
Katayama Hirofumi MZ 5a9c77b3be
[IMM32_APITEST] Add clientimc testcase (#3815)
- Add clientimc testcase to imm32_apitest.
- Add "precomp.h".
CORE-11700
2021-07-14 01:19:35 +09:00
Katayama Hirofumi MZ 1558e6d0b3
[IMM32] Rewrite ImmGetCompositionFontA/W (#3813)
- Rewrite ImmGetCompositionFontA and ImmGetCompositionFontW functions.
- Add INIT_* macro definitions in <ddk/imm.h>.
CORE-11700
2021-07-13 20:51:28 +09:00
Timo Kreuzer db41787951 [CRT] Fix handling of intrinsics and inline functions 2021-07-11 21:45:29 +02:00
Katayama Hirofumi MZ 92393a7517
[IMM32] Add some candidate handlings (#3799)
- Implement ImmGetCandidateListA and ImmGetCandidateListW, by using newly added ImmGetCandidateListAW function.
- Implement ImmLockClientImc and ImmUnlockClientImc functions.
- Modify imm32.spec.
- Remove #ifdef's.
CORE-11700
2021-07-11 09:48:15 +09:00
Katayama Hirofumi MZ 2fa0436372
[SDK][INCLUDE] Add offset info to INPUTCONTEXT (#3809)
Add offset and size information to INPUTCONTEXT structure for information help. CORE-11700
2021-07-09 23:31:42 +09:00
Eric Kohl 7faca935e6 [SETUPAPI] PNP_RegisterNotification: Parameter 8 seems to be a process ID 2021-07-08 10:58:47 +02:00
Eric Kohl f4033b02e4 [IDL] Formatting: Add a missing space 2021-07-08 10:55:13 +02:00
Eric Kohl 4339ae8c7e [DDK] Add missing types DOMAIN_DISPLAY_USER, DOMAIN_DISPLAY_MACHINE and DOMAIN_DISPLAY_GROUP 2021-07-07 12:26:44 +02:00
Hervé Poussineau f26fe3f1f8 [PSDK] Add missing field 'pdo' in VIDEO_MONITOR_DEVICE structure 2021-07-05 23:44:35 +02:00
Katayama Hirofumi MZ 89f5f5bb95
[IMM32] Rewrite ImmGetDescriptionA/W (#3780)
CORE-11700
2021-07-04 08:18:15 +09:00
Jérôme Gardou 835c30232e [NTOS:KD][NTOS:KD64][NTOS:KDBG] Fix IRQL & spinlock use
KD64: Raise to HIGH_LEVEL when entering trap
KDBG: lower to DISPATCH_LEVEL when applying IRQL hack & use a worker thread to load symbols
KD&KDBG: Actually unload symbols when required
2021-06-29 11:49:20 +02:00
Jérôme Gardou ada609bdbc [PSDK] Alias _Check_return_ annotation to warn_unused_result attribute 2021-06-28 10:20:57 +02:00
Jérôme Gardou e10892e4f4 [CRT] Put __MINGW_EXTENSION (whatever that means) in front of function declarations
Needed for next commit
2021-06-28 10:20:57 +02:00
Jérôme Gardou d1f5c31820 [SDK] Add GCC overrides for SAL annotations
GCC has some functions, variables & type attributes which can be used as aliases
for some of the SAL annotations. Although it's not as rich & precise, it's still useful
since we actually enable -Werror on GCC builds whereas we don't use such an option
on MSVC builds.

For now, _Must_inspect_result_ is aliased to warn_result_unused attribute.
2021-06-28 10:20:57 +02:00
Jérôme Gardou a28a34f108 [NDK][XDK] Remove _Must_inspect_result_ from RtlTimeFieldsToTime & RtlTimeToSecondsSince1970
WDK doesn't have it and it causes more mess than anything.
CORE-17637
2021-06-28 10:20:57 +02:00
Jérôme Gardou 28c5f7538a [DDK] Do not put _Must_inspect_result_ on function returning void & without _Out_ parameters 2021-06-28 10:20:57 +02:00
Timo Kreuzer 8a68820429 [SDK] Add missing sal annotations in driverspecs.h and kernelspec.h
CORE-6706
2021-06-28 08:48:59 +02:00
Hermès Bélusca-Maïto 8ec3580123 [SHELL32] Add the handy WHICH_DEFAULT value to the list of flags in shlwapi_undoc.h.
- Add as well the undocumented 0x40 dwFlags value from shlwapi!PathFileExistsDefExtW()
  to the list.

- Fix a bug (also present in Win2k3) in PathResolveW() where, specifying
  the PRF_DONTFINDLNK flag, would also erroneously exclude checking for
  the .cmd extension as well (which was obviously NOT the original
  intention, from the name of the flag and the documentation as well:
  https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pathresolve
  ).

Addendum to 3a822e4f.
2021-06-28 02:19:30 +02:00
Katayama Hirofumi MZ 3a822e4f74
[SHELL32] Implement PathResolveW function (#3762)
- Implement PathResolveW function.
- Implement PathQualifyA/W functions using newly-defined PathQualifyExW function.
CORE-12665
2021-06-28 07:53:26 +09:00
Timo Kreuzer f4d47faeb7 [NTOS:KE] Fix usage of KTHREAD::SwapBusy 2021-06-19 12:17:18 +02:00
Victor Perevertkin 34593d933b
[FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
Jérôme Gardou c8fb3f7514 [NTOS:MM] Implement proper refcounting of page tables on amd64
CORE-17552
2021-06-09 11:27:18 +02:00
George Bișoc a330b56787
[NTOS:PS] Enable alignment probing for thread/process information classes
In addition to that, here are some stuff done in this commit whilst testing:

- ICIF_QUERY_SIZE_VARIABLE and friends were badly misused, they should be used only when an information class whose information length size is dyanmic and not fixed. By removing such flags from erroneous classes, this fixes the STATUS_INFO_LENGTH_MISMATCH testcases.

- Use CHAR instead of UCHAR for classes that do not need alignment probing, as every other class in the table do, for the sake of consistency.

- ProcessEnableAlignmentFaultFixup uses BOOLEAN as type size, not CHAR. This fixes a testcase failure on ROS.

- Check for information length size before proceeding further on querying the process' cookie information.

- ProcessHandleTracing wants an alignment of a ULONG, not CHAR.

- Move PROCESS_LDT_INFORMATION and PROCESS_LDT_SIZE outside of NTOS_MODE_USER macro case. This fixes a compilation issue when enabling the alignment probing. My mistake of having them inside NTOS_MODE_USER case, sorry.

- On functions like NtQueryInformationThread and the Process equivalent, complete probing is not done at the beginning of the function, complete probing including if the buffer is writable alongside with datatype misalignment check that is. Instead such check is done on each information class case basis. With that said, we have to explicitly tell DefaultQueryInfoBufferCheck if we want a complete probing or not initially.
2021-06-06 17:14:22 +02:00
Timo Kreuzer f1ed97d6cc [NTOS:KE/x64] Implement KiSetTrapContext
KiSetTrapContext is an asm wrapper around RtlSetUnwindContext, which first stores an exception frame to assure that all non-volatile registers were put on the stack, then calls RtlSetUnwindContext to update their first saving positions on the stack and finally restore the exception frame to potentially load any updated registers, that haven't been saved elsewhere on the stack.
2021-06-02 18:25:36 +02:00
Timo Kreuzer 0c3812eb7e [RTL/x64] Implement RtlRestoreContext 2021-05-29 21:20:48 +02:00
Timo Kreuzer 90a0e426ed [NTOS:KE] Add IRQL checks and fix KiInitiateUserApc 2021-05-28 11:52:42 +02:00
Timo Kreuzer 42e1fefcc6 [ASM] Clear interrupt flag in ExitTrap before returning 2021-05-28 11:52:42 +02:00
Hervé Poussineau 1a1dac04c7 [SMLIB] Implement SmStartCsr and SmStopCsr 2021-05-25 19:02:16 +02:00
Mark Jansen a555892027
[SDK] Remove duplicate definition 2021-05-24 17:34:49 +02:00
Eric Kohl 894cc4ac0c [dnsapi][dnsrslvr] Implement DnsFlushResolverCacheEntry_A/_UTF8/_W 2021-05-24 14:43:30 +02:00
Jérôme Gardou a3629ab08b [RTL] SAL-annotate RtlUnicodeStringToCountedOemString
Brought to you by Hermès
2021-05-19 22:50:29 +02:00
Jérôme Gardou 53a6c44f74 [NTDLL_APITEST] Add some tests for RtlUnicodeStringToCountedOemString
CORE-17571
2021-05-19 22:50:29 +02:00
Dmitry Borisov 999345a4fe [XDK] Update the prototype of IO_COMPLETION_ROUTINE 2021-05-19 20:14:29 +02:00
Jérôme Gardou 3adf450867 [REACTOS] Addendum to 5c7ce4475e - Fix MSVC 2015 build
Put data into PAGEDATA or INITDATA sections
Keep section declaration for prototypes

CORE-17540
2021-05-12 11:04:29 +02:00
George Bișoc 0fe7fdbdea
[NDK][NTOS:SE] Fix the member offsets in TOKEN, again...
The member offsets in comments were wrong again, whoops....
2021-05-09 18:17:53 +02:00
George Bișoc f5dc1c77b5
[NDK][NTOS:SE] Add the missing "LogonSession" member to TOKEN structure
And also fix the wrong member offsets in comments. The said offset values are based upon the ones retrieved with WinDBG.
2021-05-09 17:34:02 +02:00
Katayama Hirofumi MZ 941dfd2dee
[INCLUDE][XDK] Add FILE_ATTRIBUTE_VIRTUAL macro into winnt_old.h (#3649)
PR #3642 needs it. CORE-17443
2021-05-08 21:08:34 +09:00
Serge Gautherie 2b52f3bb56 [SDK] wine/typeof.h: Remove duplicate ImeGetRegisterWordStyle line
Fix msbuild amd64
'...\sdk\include\reactos\wine/typeof.h(50,64): error C2059: syntax error: '<parameter-list>' [D:\a\reactos\reactos\build\dll\win32\msxml3\msxml3.vcxproj]'

Addendum to 32072cf (r42469).
2021-05-06 22:09:03 +03:00
Hermès Bélusca-Maïto db089c517e
[PSDK] Remove a buggy GNU-specific "PACKED" attribute in KEY_EVENT_RECORD structure declaration. (#3619)
CORE-17545

No other public header out there (in MS PSDK, MinGW, Wine, etc...) does have
this hack (that was introduced back in the days in r15141 / commit 01df92bc).

Add static assert on KEY_EVENT_RECORD's uChar member to ensure it's properly aligned.

May fix Clang warning:

win32ss/user/winsrv/consrv/lineinput.c:457:62: warning: taking address of packed member 'uChar' of class or structure '_KEY_EVENT_RECORD' may result in an unaligned pointer value [-Waddress-of-packed-member]
            LineInputEdit(Console, (Overstrike ? 1 : 0), 1, &KeyEvent->uChar.UnicodeChar);
                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
and whatnot...
2021-05-05 17:24:12 +02:00
Jérôme Gardou f421bccbcc [NTOS:MM] First shot for Working Set list support
- Initialize
- Add private page (no shared page support yet)
- Remove pages
- Trim

Yes, this is C++ in the kernel.
2021-05-04 12:02:41 +02:00
Jérôme Gardou 5466fc13a3 [NDK] Make kefuncs.h C++ aware 2021-05-04 12:02:41 +02:00
Jérôme Gardou 523912536e [KERNEL32] Sync NLS RC files with wine 6.7
Mostly for having them UTF-8 encoded
2021-05-03 22:00:57 +02:00
Jérôme Gardou 8aea84dab7 [CRT] Do not define builtin functions if not needed 2021-05-03 22:00:57 +02:00
Jérôme Gardou 061c7ecb1a [FRAMEDYN] Fix the whole situation with regards to wchar_t
Alias CHSTRING_WCHAR to unsigned short and use inline wrappers
to be able to use the thing with modern compilers

Put the GCC aliases into the public header.

Enable build with clang-cl
2021-05-03 22:00:57 +02:00
Jérôme Gardou 976c4c10aa [CRT] Fix SEH macros for clang x64 2021-05-03 22:00:57 +02:00
George Bișoc 11a60cebea
[NTOS:PS] Add some data structures
These are needed for API tests. The following structures are taken from Process Hacker.
2021-05-02 21:03:09 +02:00
Serge Gautherie f1689cdcea [PSDK] UnlockResource(): Improve definition
Sync' with
a9e50da352
2021-05-01 09:48:02 +02:00
Jérôme Gardou 2413530acf [SDK] Use GAS SEH capabilities instead of CFI
Also remove a hack for x86 GAS which no longer holds
2021-04-28 13:10:23 +02:00
Jérôme Gardou ba74a05a17 [PSEH] Add implementation for GCC amd64
Also, put include directory next to the library and use
target_include_directories(.. INTERFACE ..) to get this right.
This is because :
 - Having includes & implementation in two different places buggers me
 - This makes sure that there is no "if it compiles everything is fine" behaviour from anyone
   because now even static libraries need it for GCC amd64 build
Also add __USE_PSEH2__ define for the non SEH-aware compilers out there and use it in a few headers
where we define macros involving __try
2021-04-28 13:10:23 +02:00
Jérôme Gardou 96a2b18903 [PSEH] Make the dummy PSEH at least usable.
Not screwing the code flow when no exception happens would be the least
2021-04-28 13:10:23 +02:00
Jérôme Gardou 955b5c27b1 [CRT] Fix __ll_lshift, __ll_rshift and __ull_rshift intrinsics on gcc-amd64 2021-04-28 13:10:23 +02:00
Jérôme Gardou 382426f02e [NDK] Add some missing defines for EFLAGS on amd64 2021-04-28 13:10:23 +02:00
Jérôme Gardou 7513cc9fca [PSDK] Do not compare to max value if we can make sure that the value fits in target type
This fixes clang warning -Wtautological-constant-out-of-range-compare
2021-04-28 13:10:23 +02:00
Jérôme Gardou a4138329a1 [CRT] Add macros to disable diagnostics from GCC and clang
Instead of disabling them globally, this will help making finer grained decisions
2021-04-28 13:10:23 +02:00
Jérôme Gardou b513c61cd1 [SDK] Fix definition of IMAGE_NT_HEADERS64 in host tools 2021-04-28 13:10:23 +02:00
George Bișoc 44fb528fcc
[NTOS:SE] Implement the NtImpersonateAnonymousToken system call
Implement SepImpersonateAnonymousToken private helpers, which is necessary for the complete implementation of NtImpersonateAnonymousToken function and thus finally we're able to impersonate the anonymous logon token.
2021-04-27 12:25:03 +02:00
Jérôme Gardou ba9a7decba [PSDK] Import winuser.rh from wine 6.7 2021-04-27 11:54:12 +02:00
Serge Gautherie b6493654a3 [CRT] intrin_x86.h: Fix '_InterlockedIncrement64' copypasta
Addendum to bc3a471.
2021-04-27 10:36:54 +03:00
Katayama Hirofumi MZ 66f6abfc4a
[SDK][INCLUDE] Fix offsetof and CCSIZEOF_STRUCT for Clang-CL build (#3624)
Clang-CL was failing with "error: function declaration cannot have variably modified type". This PR will fix the Clang-CL build. CORE-17547
2021-04-25 13:38:22 +09:00
Serge Gautherie 0dedb9b474
[WINLOGON][MPR][SDK] WNetClearConnections: Fix function parameter type (#3480)
Addendum to 62f79fae93.

Signed-off-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
2021-04-18 21:58:44 +03:00
Jérôme Gardou 3731fd1661 [CRT] Properly declare rot functions in public headers 2021-04-09 15:12:13 +02:00
Jérôme Gardou bc3a471413 [CRT] Do not try to implement x86_64 builtins of clang 2021-04-09 10:33:05 +02:00
Victor Perevertkin 6645227270
[PC98VID] Fix a typo, addendum to 959729f6ee 2021-04-09 03:59:55 +03:00
Victor Perevertkin 959729f6ee [PC98VID] Fix clang 12 warning 2021-04-09 03:54:25 +03:00
Victor Perevertkin c7d1ff4a9d [SDK][NDK] Fix clang 12 compilation 2021-04-09 03:51:32 +03:00
Jérôme Gardou 6d957d6958 [NDK] Define NX bit in X86PAE PTE struct 2021-04-08 15:40:37 +02:00
Eric Kohl c449929fef [NTOS:EX] Use RtlCutoverTimeToSystemTime to determine the current time zone id
CORE-14658
2021-04-03 09:38:07 +02:00
Jérôme Gardou 8f963c38c6 [SDK:INCLUDE] Cast to type instead of PVOID
For C++ header compatibility
2021-03-24 11:08:40 +01:00
Jérôme Gardou fa74ae571b [XDK] Undefine some defines once they are not needed 2021-03-24 11:07:54 +01:00
Jérôme Gardou e55123a6a2 [CMAKE] Add the kernel module type
Take this as an occasion to use target_link_options more
2021-03-23 11:18:43 +01:00
Jérôme Gardou 525d19d469 [NDK][XDK] Use decimal literals for MINxxxx defines
Because myLongLong < MINLONG is supposed to behave like you'd expect
2021-03-19 11:04:19 +01:00
Katayama Hirofumi MZ f9b89c9961 [SDK][INCLUDE] msgdump.h: Support RegisterWindowMessage
msgdump.h: Version 18.
2021-03-18 18:41:03 +09:00
Victor Perevertkin 029accdcf7
[NDK] Change the data structure for PlugPlayControlResetDevice control class
PlugPlayControlResetDevice shares the input structure with several other
control classes.
Source: ProcessHacker sources e9c8121f41/ntpnpapi.h
2021-03-16 03:17:42 +03:00
Katayama Hirofumi MZ 2d066c93fe
[SHELL32] Fix SHBrowseForFolder new UI layout (#3533)
CORE-17507

- Change layout of resource dialogs IDD_BROWSE_FOR_FOLDER_NEW.
- Delete IDC_BROWSE_FOR_FOLDER_FOLDER control.
- Fix focus.
- Add ES_NOHIDESEL style to IDC_BROWSE_FOR_FOLDER_FOLDER_TEXT control.
- Add TVS_SHOWSELALWAYS style to IDC_BROWSE_FOR_FOLDER_TREEVIEW control.
- Fix assertion failure in LayoutUpdate function in <layout.h>.
2021-03-15 07:13:03 +09:00
Katayama Hirofumi MZ e1a5ba188e
[SHELL32] SHBrowseForFolder with BIF_EDITBOX should use new UI (#3532)
CORE-17506

- Convert some judgements against BIF_NEWDIALOGSTYLE to judgements against BIF_USENEWUI. Here BIF_USENEWUI == (BIF_NEWDIALOGSTYLE | BIF_EDITBOX).
- Remove WS_SIZEBOX window style from new UI dialog resource (IDD_BROWSE_FOR_FOLDER_NEW).
- Fix header layout.h for resizing without WS_SIZEBOX.
2021-03-14 18:35:40 +09:00
Katayama Hirofumi MZ ac507691fb [SDK][INCLUDE] layout.h: Use SWP_NOCOPYBITS to refresh controls 2021-03-14 12:28:48 +09:00
Mark Jansen 1952e5b795
Fix some assertions now that they are enabled (#3524)
Fix some assertions, hack out some others (they need more ATL work).
CORE-17505
2021-03-11 07:43:06 +09:00
Victor Perevertkin 0a26c7c5d2
[SDK:DDK] Implement the Auxiliary Kernel-Mode Library
And uncomment the code in KMDF which uses it
2021-03-10 16:43:59 +03:00
Jérôme Gardou 97d4cb6ee0 [CRT] Declare strlen & wcslen as _CRTIMP 2021-03-03 08:34:32 +01:00
George Bișoc 6170b574f0
[NTOS:PS] Implement PS_QUOTA_TYPE and let the quota code use it (#3389)
This will replace the PoolIndex variable and as such we'll only be using the PS_QUOTA_TYPE enumeration, as Windows does. Both QuotaEntry, QuotaUsage and QuotaPeak depend explicitly or implicitly on this enumeration. Further details about this enum can be found in the following articles.
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ps/psquota/type.htm?tx=68,143
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/api/ps/psquota/block.htm?tx=68,142,143
https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ps/eprocess/index.htm (see QuotaPeak and QuotaUsage)
2021-03-02 20:09:58 +01:00
Jérôme Gardou 6c100a13c2 [SDK:INCLUDE] Define KTRAP_FRAME_CS 2021-03-02 14:36:46 +01:00
Jérôme Gardou 7fb6030e05 [SDK] Properly put assembly debug info into .debug_frame section
For some reason, the default is to put it into .eh_frame where objcopy & al happily ignore them
2021-03-02 14:36:38 +01:00
Eric Kohl 1fbb295d4a [LSASRV][SECUR32] Fix the naming mess
Rename Untrusted to TrustredCaller in LSA_CONNECTION_INFO and LSAP_LOGON_CONTEXT in order to clarify the meaning of the variable.
2021-02-28 11:03:33 +01:00
Katayama Hirofumi MZ 6b2e79d067 [SDK][INCLUDE] layout.h: Delete an assertion for window style
WS_SIZEBOX or WS_THICKFRAME. CORE-9281
2021-02-27 22:59:00 +09:00
Katayama Hirofumi MZ c14c9ca0d8 [SDK][INCLUDE] Erase files of incorrect commit
Delete files at mistaken commit:
0efd7b9764

rm sdk/include/host/cmake_install.cmake
rm sdk/include/reactos/buildno.h
rm sdk/include/reactos/version.h
2021-02-25 09:21:13 +09:00
Katayama Hirofumi MZ 0efd7b9764 [SDK][INCLUDE] Strengthen and improve layout.h
- Refreshing STATIC controls.
- In LayoutInit function, if cLayouts parameter was negative, then don't use size grip.
2021-02-25 09:12:47 +09:00
Hervé Poussineau 77d69c68b8 [OBJ2BIN] Add support for IMAGE_REL_I386_REL16
Also return error in case of unknown relocation type.
2021-02-22 14:21:43 +01:00
Serge Gautherie 7ca16bf696
[PSDK] winbase.h: Update LoadLibraryEx() dwFlags value defines (#3456)
Add another Vista check.
Addendum to 986cc5e.
2021-02-17 00:37:48 +09:00
Eric Kohl 87a4624e20 [WKSSVC][NETAPI32] Implement NetrWkstaGetInfo and get rid of the old NetWkstaGetInfo implementation 2021-02-13 23:19:29 +01:00
Serge Gautherie 986cc5e8e2
[PSDK] winbase.h: Update LoadLibraryEx() dwFlags value defines (#3153)
* Deci-to-Hexa.
* Add more values.
* Add a Vista check.
2021-02-13 23:16:49 +09:00
Eric Kohl 560b66a2d5 [NET] Remove the NAME, PRINT and SEND options because we will most likely never have a messenger service 2021-02-07 13:45:25 +01:00
George Bișoc dd4c113594
[NTOS:SE] Do not use a global lock for tokens (#3445)
In Windows Server 2003 the lock is initialised on a per-token basis, that is, the lock resource is created in SepDuplicateToken() and SepCreateToken() functions. This ensures that the lock initialisation is done locally for the specific token thus avoiding the need of a global lock.
2021-02-05 12:10:19 +03:00
winesync 1dfb089b4b [WINESYNC] d3dx9_*: Add D3DXSHProjectCubeMap stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46284

wine-staging patch by Andrey Gusev <andrey.goosev@gmail.com>
2021-02-04 16:37:07 +01:00
winesync 256cd6a4cb [WINESYNC] include: Fix D3DXF_FILELOADMEMORY definition.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c9c74b8b10116c3f0b3bd4d08724963245499a92 by Matteo Bruni <mbruni@codeweavers.com>
2021-02-04 16:37:03 +01:00
Jérôme Gardou ad65e645dc [SDK/WINE] Add debugstr_a in wine/test.h 2021-02-04 16:37:01 +01:00
Jérôme Gardou 86a0852ffb [SDK/CRT] Provide inline implementation of log2 2021-02-04 16:37:01 +01:00
Jérôme Gardou 7b1049c8fd [WINESYNC]: revert wine-staging patchset for d3dx9 2021-02-04 16:37:01 +01:00
Jérôme Gardou 073ec9b0d4 [NTOSKRNL][NDK] Get rid of SECTION_OBJECT typedef
We will use the more recent SECTION (already used in ARM3) and this will avoid confusions
2021-02-03 09:41:21 +01:00
George Bișoc 1903b568b6
[NTOS:SE] Implement SECURITY_TOKEN_PROXY_DATA, SECURITY_TOKEN_AUDIT_D… (#3432)
ProxyData and AuditData are pointers to an arbitrary data, which instead, they should point to their respective data structures. This serves as preparation for SepFreeProxyData and SepCopyProxyData functions implementations in the future (regarding the proxy data stuff specifically).

For further details:
https://www.vergiliusproject.com/kernels/x86/Windows%202003/SP2/_TOKEN
https://www.nirsoft.net/kernel_struct/vista/SECURITY_TOKEN_AUDIT_DATA.html
https://www.nirsoft.net/kernel_struct/vista/SECURITY_TOKEN_PROXY_DATA.html
https://www.nirsoft.net/kernel_struct/vista/PROXY_CLASS.html
2021-02-02 01:55:42 +03:00
Colin Finck 50a01ed170 [SYSDM] Introduce KERNEL_VERSION_REVISION_RC and align system uptime string 2021-02-01 07:32:14 +01:00
Jérôme Gardou 6a4c6ea5d0 [RTL] Implement RtlTryAcquireSRWLockExclusive & RtlTryAcquireSRWLockShared 2021-01-29 18:42:54 +01:00
Hervé Poussineau d74df8af74 [SDK x64] Fix MSVC x64 compilation after 5d7dd4a3b5 2021-01-29 08:36:04 +01:00
Hervé Poussineau 5d7dd4a3b5 [ASM x64] Prevent having same label multiple times in ntoskrnl/ke/amd64/trap.S 2021-01-28 20:31:17 +01:00
Hervé Poussineau c345f7f137 [ASM x64] Make UNIMPLEMENTED macro self-suffisant
This fixes link errors with MsgUnimplemented not defined on binaries not linking to CRT.
2021-01-28 20:31:16 +01:00
Hervé Poussineau ae4ce99e00 [ASM x64] Fix usage of macro .allocstack
.allocstack only accepts one 'size' parameter."
2021-01-28 20:31:16 +01:00
Victor Perevertkin 798fc13b48
[NTOS:PNP] Implement NT5.2-like DEVICE_NODE state management
- Use DeviceNode->State field and its values, instead of
  DeviceNode->Flags for tracking current node state
- Change DNF_* flags to the ones compatible with Windows XP+
- Simplify state changes for device nodes and encapsulate all the logic
  inside the PiDevNodeStateMachine routine. This makes the ground for
  future improvements in the device removal sequence and
  resource management
- Now values inside DeviceNode->State and ->Flags are compatible with
  the windbg !devnode macro and can be tracked using it
- BUGFIX: fixed cases where IRP_MN_START_DEVICE or
  IRP_MN_QUERY_DEVICE_RELATIONS may be sent to a device after a
  IRP_MN_REMOVE_DEVICE

CORE-7826
2021-01-27 05:15:15 +03:00
Hermès Bélusca-Maïto 9aa73da948
[XDK] Even the DBG_UNREFERENCED_PARAMETER() should use (void)P. Addendum to 46ca069e. 2021-01-18 22:23:24 +01:00
Victor Perevertkin 46ca069e42
[XDK] Remove UNREFERENCE_LOCAL_VARIABLE macro
Change UNREFERENCED_PARAMETER to (VOID)P to support const parameters
2021-01-19 00:15:02 +03:00
Alex Henrie 35f3034879
[NDK] "Reserved" member in SYSTEM_PROCESSOR_INFORMATION is "MaximumProcessors" for Windows 8+ (#3421)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2021-01-09 23:15:36 +01:00
Hermès Bélusca-Maïto 1303a7dc1c
[PSDK] Whoopsie... Fix "PPPARTITION_INFORMATION_GPT" typo (extra 'P'), caught by BieHDC :)
Addendum to 8a6ed591.
2021-01-08 17:12:21 +01:00
Hermès Bélusca-Maïto 8a6ed59156
[PSDK] Add missing PPARTITION_INFORMATION_GPT, PPARTITION_INFORMATION_MBR, PPARTITION_INFORMATION_EX definitions.
Addendum to commit 7ae3d530.
2021-01-08 01:36:58 +01:00
Hervé Poussineau ff7035d940 [ASM x64] Change ; by /* */ for comments
Syntax with semi-colon is not supported by gas.
2021-01-07 21:12:11 +01:00
Hervé Poussineau 5112776b2b [SDK] Fix _SEH2_GetExceptionInformation() macro in dummy SEH, to return the right structure 2021-01-05 19:24:23 +01:00
Hervé Poussineau e3cbdcf2e9 [CRT] Use correct prototypes for GCC x64 2021-01-05 14:19:45 +01:00
Hervé Poussineau de647b4155 [CRT] Remove bad define of _int128 in GCC x64 2021-01-05 14:19:45 +01:00
Hervé Poussineau d0b46c6c43 [INCLUDE/WINE] Always define interlocked_* aliases
This was already true for MSVC and GCC x86, make it true for GCC x64.
2021-01-05 14:19:45 +01:00
Hervé Poussineau 3468e27cfe [SDK] Fix hack for GCC, so that it works on GCC x86 and GCC x64 2021-01-05 14:19:45 +01:00
Hervé Poussineau 3187e2a00b [ASM:X64] Remove XSAVE_ALIGN variable (as already done on x86) 2021-01-05 14:19:45 +01:00
Jérôme Gardou 5f3d3d7d48 [PSDK] Add more safe integer routines for LONGLONGs 2021-01-05 13:40:35 +01:00
winesync f64bdd0732 [WINESYNC] wininet/tests: Fix some test failures with Windows 10.
Windows 10 1607+ no longer validates a NULL window handle, so remove that test.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6b839a0f85236aac2cc794d5d586f1ba371866b1 by Zebediah Figura <z.figura12@gmail.com>
2021-01-05 11:03:13 +01:00
winesync 33fde115eb [WINESYNC] wininet: Add support for detecting the proxy config URL.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a4357043ff9aa14f086207c239f0fc29c0a24b83 by Hans Leidekker <hans@codeweavers.com>
2021-01-05 11:03:13 +01:00
Hermès Bélusca-Maïto b570fac18b
Happy New Year 2021 to the ReactOS Community!!
⚛️ 🍾 🥳 🎆 ☢️
2021-01-01 00:00:00 +01:00
Hermès Bélusca-Maïto fb9d8e5239
[PSDK][XDK] Add newer FILE_DEVICE_xxx DEVICE_TYPE defines. 2020-12-27 00:51:57 +01:00
Jérôme Gardou fab4e82647 [INCLUDE/IDL] Give implicit handles a more unique name
This avoids duplicated symbols when linking DLLs using more than one client or server stub
2020-12-22 13:14:13 +01:00
Jérôme Gardou 988c682e8c [LIBXSLT] Fix public variable declarations when using clang-cl 2020-12-22 12:25:55 +01:00
Oleg Dubinskiy d5132f5ce3
[BROWSEUI][PSDK] Stubplement ShellTaskScheduler (#3326)
Required by MS Picture and Fax Viewer (shimgvw.dll).
Now it starts properly without replacing any other system files.

CORE-17337
2020-12-20 22:06:16 +03:00
Oleg Dubinskiy 1f5e0f3fa7
[BROWSEUI][PSDK] Stubplement UserAssist
Initial implementation of `CUserAssist` class, which contains `IUserAssist` interface.
See https://www.geoffchappell.com/studies/windows/ie/browseui/classes/userassist.htm.
Required by MS shell32.dll.

CORE-17345 CORE-17393
2020-12-20 17:32:11 +03:00
Jérôme Gardou 003ad0ec07 [PSDK] define __analysis_noreturn for clang static analyzer 2020-12-14 18:22:07 +01:00
Jérôme Gardou 5d4ece342c [CMAKE] Add a NO_REACTOS_BUILDNO option
This allows to not generate buildno.h and version.h after each commit and trigger the relinking of the complete module list
2020-12-07 11:32:37 +01:00
Hermès Bélusca-Maïto 7ae3d530db
[PSDK] Re-arrange DISK/DRIVE/PARTITION layout-related structures in ntdddisk.h and winioctl.h. Add few missing structures in winioctl.h. 2020-12-06 23:44:10 +01:00
Victor Perevertkin 15a7b9dd2f
[CLASSPNP][CDROM_NEW][DISK_NEW] Fix clang build
CORE-17129
2020-12-05 22:15:29 +03:00
Hervé Poussineau 06a6eda0a1 [DDK] Use FORCEINLINE instead of __inline, as in other DDK headers 2020-12-01 18:56:02 +01:00
Hermès Bélusca-Maïto de16ef3da0
[NDK] Add missing nop NEC definitions if not X86 (for consistency with what's done in the kernel-mode headers). Addendum to 9feab8e9. 2020-11-26 02:05:59 +01:00
Hermès Bélusca-Maïto 9feab8e95a
[NDK][XDK] Add some missing macros for run-time checks of X86 system architecture (NEC support). 2020-11-26 00:29:34 +01:00
Hermès Bélusca-Maïto c295fb95e9
[XDK] Minor formatting; remove some extra newlines at end of files. 2020-11-26 00:29:20 +01:00
Hermès Bélusca-Maïto 8d3e80e437
[FSLIB][FMIFS][AUTOCHK][SETUPLIB] Use more Windows-compatible (but not fully compatible yet) Format() and Chkdsk() ULIB functions.
[AUTOCHK] Add also support for scanning FATX volumes.

The Format(), FormatEx(), Chkdsk(), ChkdskEx() functions exposed by the
U*.DLL user-mode FS library dlls are different (and have different
prototypes) than the similarly-named functions exported by FMIFS.DLL .

In particular, what we used to call "xxxChkdskEx()" and "xxxFormatEx()"
in our U*.DLL libraries actually correspond more, from their arguments,
to the "Chkdsk()" and "Format()" functions in Windows' U*.DLL . Their
*Ex() counterparts instead take most of the parameters through a
structure passed by pointer.

On FMIFS.DLL side, while FMIFS!Chkdsk() calls U*.DLL!Chkdsk() and
FMIFS!ChkdskEx() calls U*.DLL!ChkdskEx() (and we do not implement these
*Ex() functions at the moment), both FMIFS!Format() and FMIFS!FormatEx()
call U*.DLL!Format() instead, while FMIFS!FormatEx2() calls
U*.DLL!FormatEx() (that we do not implement yet either) !!

To improve that, refactor the calls to these U*.DLL functions so as to
respect the more compatible prototypes: They contain the correct number
of parameters in a compatible order. However, some of the parameters do
not have the same types yet: the strings are kept here in PUNICODE_STRINGS,
while on Windows they are passed via an undocumented DSTRING struct, and
the FMIFS callback is instead a MESSAGE struct/class on Windows.
Finally, the MEDIA_TYPE parameter in U*.DLL!Format() is equivalent, yet
not fully 100% in 1-to-1 correspondence, with the FMIFS_MEDIA_FLAG used
in the corresponding FMIFS.DLL functions.

One thing to notice is that the U*.DLL!Format() (and the Ex) functions
support a BOOLEAN (a flag resp.) for telling that a backwards-compatible
FS version should be used instead of the (default) latest FS version.
This is used e.g. by the FAT FS, where by default FAT32 is selected
(depending also on other constraints like, the disk and the partition
sizes), unless that bit is set in which case, FAT16 (or 12) is used.
2020-11-22 21:57:07 +01:00
Hermès Bélusca-Maïto 65758cc3b4
[FMIFS] Whitespaces formatting only. 2020-11-22 21:34:04 +01:00
Jérôme Gardou 02f4c755b8 [SDK] Use FORCEINLINE instead of inline 2020-11-16 16:58:10 +01:00
Jérôme Gardou 3936c3f19e [CRT] Fix __forceinline definition for clang 2020-11-16 16:58:10 +01:00
Jérôme Gardou f96e47db43 [CRT] Fix intrinsics definition with clang 2020-11-16 16:58:10 +01:00
Victor Perevertkin 901c457b63
[PSDK] Add more 32 and 64-bit definitions to ntddscsi.h 2020-11-13 03:15:31 +03:00
Hermès Bélusca-Maïto be01e6d76f
[XDK] Update the definition of DEBUG_DEVICE_DESCRIPTOR and related structures with Vista,7,8,10 additions.
CORE-17360

Information from:
- https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddk/ns-ntddk-debug_device_descriptor
- https://www.vergiliusproject.com
- https://codemachine.com
2020-11-09 22:33:02 +01:00