Commit graph

1203 commits

Author SHA1 Message Date
Timo Kreuzer d9cb169920 [XDK] Fix / improve some definitions 2023-10-17 13:02:30 +03:00
Timo Kreuzer 7b38f80119 [STLPORT] Make stl thread-safe
Define _STLP_THREADS to make stl thread safe.
Also remove defined(__BUILDING_STLPORT) from the preprocessor conditions for which STLPInterlockedExchangePointer is defined, because that function is used in _threads.h, which can get included by apps using the stl through stl headers.
2023-10-17 13:01:24 +03:00
Timo Kreuzer 40d444919e [SDK] Move definition of MyInt128 into stubs.h 2023-10-17 09:41:18 +03:00
Timo Kreuzer a27b8009e0 [SDK] Do not include windef.h into stubs.h
This prevents pulling in function declarations that are incompatible with the generated stubs.
2023-10-17 09:41:18 +03:00
Hermès Bélusca-Maïto 9021a14f4a
[NDK] Fix weird "ntstatus.s" statement (#5771)
Spotted by Serge Gautherie.
2023-10-08 17:11:25 +02:00
Ratin Gao be5c889cdf [NTDLL:LDR] SAL improvements and fixes
- Convert some notations to SAL2
- "Name" parameter in LdrGetProcedureAddress/LdrpGetProcedureAddress should be optional
- "DllCharacteristics" parameter in LdrGetDllHandle should be optional
2023-10-04 12:26:18 +03:00
Timo Kreuzer 410b1030c0 [NTOS:KE/x64] Implement detection of more KF_* feature flags
- Detect KF_SSSE3, KF_SSE4_1, KF_SSE4_2, KF_RDRAND, KF_BRANCH, KF_SLAT, KF_GENUINE_INTEL, KF_AUTHENTICAMD, KF_ACNT2, KF_SMEP, KF_SMAP, KF_RDWRFSGSBASE, KF_XSAVEOPT, KF_XSAVES, KF_HUGEPAGE, KF_RDTSCP
2023-10-03 19:45:44 +03:00
Timo Kreuzer 6048ebeff9 [SDK] Add CPUID and MSR definitions for x86/x64
- Import definitions from edk2 (see https://github.com/tianocore/edk2/tree/master/MdePkg/Include/Register)
- Add additional unions as well as AMD SVM CPUID
2023-10-03 19:45:44 +03:00
Timo Kreuzer 70f6ed8ee3 [NTOS:KE/x64] Improve CPU feature detection
- Use 64 bit feature flags (with a hack in the PRCB)
- Improve setting up SharedUserData->ProcessorFeatures
2023-10-03 19:45:44 +03:00
Timo Kreuzer 47c1dcd023 [NDK] Update kernel feature bits constants
- Move them into architecture specific headers.
- Add missing constants based on https://www.geoffchappell.com/studies/windows/km/ntoskrnl/structs/kprcb/featurebits.htm
- Yes, they are 64 bits
2023-10-03 19:45:44 +03:00
Timo Kreuzer b66441d581 [XDK] Add missing PF_* processor feature definitions 2023-10-03 19:45:44 +03:00
Katayama Hirofumi MZ d1e9fe13de
[SHELL32][SDK] Implement SHTestTokenPrivilegeW (#5725)
and modify shell32.spec.
2023-09-26 07:36:07 +09:00
Katayama Hirofumi MZ cc6e444ceb
[SHELL32][SDK] Implement SHInvokePrivilegedFunctionW (#5718)
Add it to <undocshell.h>. Modify shell32.spec.
2023-09-24 07:11:38 +09:00
Katayama Hirofumi MZ 4407e0aefa
[SHELL32][SDK] Implement SHOpenEffectiveToken and SHGetUserSessionId (#5713)
- Implement SHOpenEffectiveToken and
  SHGetUserSessionId functions.
- Add them to <undocshell.h>.
2023-09-21 22:44:20 +09:00
Katayama Hirofumi MZ 29e1a41d07
[SHELL32][SDK] Implement SHGetShellStyleHInstance (#5707)
Co-authored-by: Oleg Dubinskiy <oleg.dubinskij30@gmail.com>
This PR supersedes PR #3851.
- Implement SHGetShellStyleHInstance function.
- Add SHGetShellStyleHInstance prototype to <shlobj.h>.
CORE-17707
2023-09-21 09:22:33 +09:00
Katayama Hirofumi MZ 6c55a3aa2a
[SHELL32][SHELL32_APITEST][SDK] Implement Int64ToString (#5706)
- Implement Int64ToString and LargeIntegerToString functions.
- Add Int64ToString and LargeIntegerToString prototypes to <shellundoc.h>.
- Add Int64ToString testcase.
- I found a bug in GetNumberFormat.LeadingZero.

http://undoc.airesoft.co.uk/shell32.dll/Int64ToString.php
http://undoc.airesoft.co.uk/shell32.dll/LargeIntegerToString.php
2023-09-21 09:14:40 +09:00
Johannes Thoma 490fbfb2c5
[DDK] wsk header: Add WSKAPI to exported functions. (#5687)
Names need decoration (stdcall) in order to be linked.

When using the wsk.h header functions exported therein should
be WSKAPI (which enforces the stdcall calling convention). Linking
would later fail because stdcall functions are named differently in
the object code.
2023-09-19 18:28:19 +03:00
Justin Miller 6bbf09b6a5
[WINESYNC][SDK][DWMAPI] Import DWMAPI from WINE 8-14 (#5594) 2023-09-18 07:30:44 -07:00
Katayama Hirofumi MZ fd626dc163
[SHDOCVW] Implement MRU List for Shell Bag, Part 5 (#5691)
Follow-up to #5686. 
Implement CSafeMutex and CMruPidlList classes.
CORE-9283
2023-09-17 19:52:50 +09:00
Ratin Gao 4c8a2a8815
[KERNEL32][KERNEL32_APITEST] Implement user-mode UEFI / Firmware API (#5149)
- Implement firmware environment variable read/write APIs
- Add, fix and improve related definitions and declarations
- Add kernel32:UEFIFirmware apitest

CORE-11954
2023-09-14 22:14:07 +03:00
Katayama Hirofumi MZ ea5d2c5f7a
[MSPAINT][SDK] Add <ui/CWaitCursor.h> (#5680)
CORE-19094
2023-09-12 05:39:08 +09:00
Katayama Hirofumi MZ 85377ee3db
[SDK][CRT][MSVCRT] Implement _CrtSetReportMode and _CrtSetReportFile (#5662)
- Implement reporting to file.
CORE-11835, CORE-15517, ROSTESTS-386
2023-09-11 04:37:27 +09:00
Serge Gautherie a1ee35bdb2 [NDK] mmtypes.h: Fix a copypasta in a comment 2023-09-10 13:30:11 +03:00
Hermès Bélusca-Maïto fdeb169a27
[PSDK] Add missing PNP_VETO_TYPE PNP_VetoInsufficientRights enumerator. 2023-09-07 20:28:03 +02:00
Timo Kreuzer 1d59cf43af [NTDLL_APITEST] Add tests for critical sections 2023-09-07 08:36:48 +03:00
Ratin Gao f491d7cc99
[KERNEL32][RTL] Implement One-Time initialization API and improve RTL support (#5046)
* [KERNEL32][RTL] Implement One-Time initialization API and improve RTL support
2023-09-06 15:40:53 -07:00
Katayama Hirofumi MZ 4814dfea01
[BROWSEUI][SDK] Half-implement CShellBrowser::GetPropertyBag (#5635)
- Implement CShellBrowser::GetPropertyBag
  a little by using SHGetViewStatePropertyBag.
- Add SHGetPathFromIDListWrapW prototype to
<shlwapi_undoc.h>.
CORE-9283
2023-09-03 12:09:55 +09:00
Katayama Hirofumi MZ 8dbb800358
[SHDOCVW][SDK] Implement MRU List for Shell Bag, Part 2 (#5634)
Follow-up to #5626.
- Implement CMruBase class.
- Add delay import of shell32.
- Add RegCreateKeyExWrapW prototype to <shlobj_undoc.h>.
CORE-9283
2023-09-03 09:42:10 +09:00
Katayama Hirofumi MZ 58770200e7
[SHDOCVW][SDK][COM_APITEST] Implement MRU List for Shell Bag, Part 1 (#5626)
- Add mrulist.cpp source file.
- Add CMruBase, CMruLongList, CMruNode,
  and CMruPidlList classes with stub functions.
- Add CLSID_MruPidlList and CLSID_MruLongList.
- Add IMruDataList interface into <shlobj_undoc.h>.
- Add IID_IMruDataList and CLSID_MruLongList
  definitions into <shlguid_undoc.h>.
CORE-9283
2023-08-31 09:35:00 +09:00
Katayama Hirofumi MZ 29fbe60abe
[SHLWAPI][SDK] Implement SHGetViewStatePropertyBag Part 3 (#5615)
Follow-up to #5610.
- Add _EnsureWriteBag, _PruneMRUTree, _GetMRUSize and
  _GetMRUSlots helper functions.
- Add code into _GetMRUSlot, _FindNearestInheritBag, and Write.
- Add CLSID_MruPidlList and IID_IMruPidlList definitions into
  <shlguid_undoc.h>.
- Add IMruPidlList interface into <shlobj_undoc.h>.
CORE-9283
2023-08-28 07:16:11 +09:00
Katayama Hirofumi MZ 32669f6caa
[SHLWAPI][SHLWAPI_APITEST][SDK] Implement SHGetPerScreenResName (#5616)
CORE-9283
2023-08-26 16:46:51 +09:00
George Bișoc 33e6490532
[ADVAPI32] Implement AccessCheckByType and AccessCheckByTypeResultList 2023-08-25 14:09:14 +02:00
Katayama Hirofumi MZ 21925d935c
[SHLWAPI][SDK] Implement SHGetViewStatePropertyBag Part 1 (#5605)
Follow-up to #5590.
- Add CViewStatePropertyBag class.
- Add SHGetViewStatePropertyBag definition.
- Add FreeViewStatePropertyBagCache function and
  use it in DllMain to free the cache.
CORE-9283
2023-08-23 15:00:07 +09:00
George Bișoc 8289de6ef7
[NTOS:SE] Cast the ACE to known ACE type variants on SepGetSidFromAce
ACCESS_DENIED_ACE_TYPE, ACCESS_ALLOWED_ACE_TYPE, SYSTEM_AUDIT_ACE_TYPE and
SYSTEM_ALARM_ACE_TYPE belong to the same commonly internal ACE type, aka KNOWN_ACE,
as each of these ACEs have the same structure field offsets.

The only difference are ACCESS_DENIED_OBJECT_ACE_TYPE and ACCESS_ALLOWED_OBJECT_ACE_TYPE
as they have their own internal ACE type variant, the KNOWN_OBJECT_ACE structure.

The general guideline is that public ACE structure variants have to be used elsehwere
such as in UM whilst the kernel has to use the internal known ACE type variants when possible.
2023-08-22 17:54:18 +02:00
George Bișoc edcf3f5363
[NTOS:SE] Update the NT access check syscalls SAL2 annotations
The newly updated SAL2 annotations reflect those from Process Hacker.
Also these syscalls must have their function's status code checked, as
most of other Native syscalls have them checked.
2023-08-22 17:53:45 +02:00
Katayama Hirofumi MZ a2d8e464c8
[SHLWAPI][SDK][SHELL32_APITEST][SHLWAPI_WINETEST] Property Bag on Desktop Upgrade (#5590)
- Add CDesktopUpgradePropertyBag class.
- Implement SHGetDesktopUpgradePropertyBag
  function.
CORE-9283
2023-08-22 12:01:20 +09:00
Timo Kreuzer 3a0b53386c [KERNEL32] Add CompareStringOrdinal from wine-3.21 2023-08-20 15:17:41 +03:00
Katayama Hirofumi MZ 56d95154ee
[SHLWAPI][SHLWAPI_APITEST][SDK] INI file property bag (#5546)
- Add SHGetIniStringUTF7W and SHSetIniStringUTF7W functions.
- Add CIniPropertyBag class.
- Implement SHCreatePropertyBagOnProfileSection function.
CORE-9283
2023-08-19 11:22:55 +09:00
Katayama Hirofumi MZ cf55034cdf
[SHLWAPI][SDK] Rewrite SHGet/SHSetIniStringW in C++ (#5561)
- Follow-up to #5547. Move SHGetIniStringW / SHSetIniStringW into propbag.cpp.
- Rewrite them in C++.
CORE-9283
2023-08-16 07:13:14 +09:00
Timo Kreuzer f229726da9 [SDK] Define _NTSYSTEM_ in stubs.h
We don't want to import RtlRaiseException, when building stubs for NTDLL.
2023-08-11 19:00:42 +03:00
Johannes Thoma 984284c436
[DDK] Fix wsk.h header (#5544)
Some datagram related dispatcher function types (like PFN_WSK_SEND_TO)
were used before they were declared. This patch moves the use after
the definition.
2023-08-10 15:51:13 +02:00
Timo Kreuzer b9958c7be7 [XDK] Fix definition of KeRaiseIrqlToSynchLevel for x64 UP 2023-08-10 14:46:29 +03:00
Andrew Dent 72ea2d4c26
[REACTOS] Spelling fixes (#5534)
Fix spellings / hyphenation: `unassociate` ; `read-only` ; `double-click`
2023-08-09 11:48:07 +02:00
Katayama Hirofumi MZ a83fedcbfa
[SHLWAPI][SHLWAPI_APITEST][SDK] SHGetIniStringW/SHSetIniStringW (#5547)
Follow-up to #5531. These two functions are necessary for INI file property bag support.
- Implement SHGetIniStringW and SHSetIniStringW.
- Strengthen SHPropertyBag testcase of shlwapi_apitest.
CORE-9283
2023-08-09 08:23:33 +09:00
Katayama Hirofumi MZ ea97c48909
[SHELL32][SDK] Implement SHCreatePropertyBag (#5541)
- Implement SHCreatePropertyBag function in utils.cpp.
- Add its prototype to <undocshell.h>.
CORE-9283
2023-08-07 17:02:39 +09:00
Katayama Hirofumi MZ 63fae07d12
[SHELL32][SDK] Implement SHIsTempDisplayMode (#5523)
CORE-9277
2023-08-07 09:50:30 +09:00
Hermès Bélusca-Maïto 9632235a37
[SDK:ASM][NDK] Adjust the x86 definition of PCR (for UP and MP). 2023-08-06 17:29:06 +02:00
Hermès Bélusca-Maïto 5f477e0e3b
[SDK:ASM][NDK] Improve and synchronize the definition of the SYNCH_LEVEL symbol (#3943)
In particular, for a given platform (x86, AMD64...) its definition
depends for uniprocessor vs. multiprocessor NT kernel/HAL (controlled
by the CONFIG_SMP define).

Regarding the ASM-generated headers (from asm/ksx.template.h), since
they are generated once for a given platform, and since UP/MP NT builds
are generated at the same time, these headers need to contain both
SYNCH_LEVEL definitions controlled by CONFIG_SMP, instead of a fixed
value. Therefore we need to employ the geninc RAW(...) construct.

[NDK:X86] Add missing x86 CLOCK1_LEVEL and POWER_LEVEL definitions.
2023-08-06 17:28:51 +02:00
Hermès Bélusca-Maïto f350843948
[SDK:ASM] OK these definition entries are #if 0'ed out, but close the parentheses anyway to not mess up with editors' code-folding functionality. 2023-08-06 17:24:41 +02:00
Andrei Miloiu 5210ad48c7
[NET][MC] Update Romanian (ro-RO) translation for message table (#5453) 2023-08-06 13:59:26 +02:00