Hervé Poussineau
9f97f0b284
[NTOS:KD64] Implement KdSystemDebugControl: SysDbgQueryVersion
2025-01-28 22:00:40 +01:00
Hervé Poussineau
6338d51353
[NTOS:EX] In NtSystemDebugControl, check for SeDebugPrivilege
2025-01-28 22:00:39 +01:00
Hervé Poussineau
9e7c3770e3
[NTOS:EX] Improve NtSystemDebugControl
...
- Add SEH probing for user buffer
- Mark some classes as i386 only
- Explicitly return STATUS_NOT_IMPLEMENTED on disabled classes (must use KdSystemDebugControl instead)
- Explicitly return STATUS_NOT_IMPLEMENTED on not implemented classes
- Return STATUS_INVALID_INFO_CLASS on all other classes
2025-01-28 22:00:38 +01:00
Hervé Poussineau
0f36ef3392
[NTOS:KD64] Improve KdSystemDebugControl
...
- Explicitly return STATUS_NOT_IMPLEMENTED on not implemented classes
- Return STATUS_INVALID_INFO_CLASS on all other classes
2025-01-28 22:00:37 +01:00
Hermès Bélusca-Maïto
a0b009f1ed
[NTOS:EX:KD64] Add Doxygen documentation for Nt/KdSystemDebugControl.
...
Based from external documentation:
https://www.ivanlef0u.tuxfamily.org/?p=21
https://www.ivanlef0u.tuxfamily.org/?p=382
http://pds8.egloos.com/pds/200807/09/51/Subverting_Windows_2003_Service_Pack_1_Kernel_Integrity_Protection.pdf
http://www.nynaeve.net/?p=114
https://media.defcon.org/DEF%20CON%2030/DEF%20CON%2030%20presentations/Eran%20Segal%20-%20The%20COW%20%28Container%20On%20Windows%29%20Who%20Escaped%20the%20Silo.pdf
https://vidstromlabs.com/blog/memory-dumping-with-ntsystemdebugcontrol/
https://www.kernelmode.info/forum/viewtopic0aa3.html?t=5317
2025-01-28 22:00:36 +01:00
Hermès Bélusca-Maïto
317f1e8391
[NDK][NTOS:EX:KD64] Add SAL annotations to Kd/Nt/ZwSystemDebugControl.
2025-01-28 22:00:35 +01:00
Hermès Bélusca-Maïto
5d78952024
[NTOS:KD64] Simplify some code in debugging helpers
2025-01-28 22:00:34 +01:00
Hermès Bélusca-Maïto
1c61d4ce90
[NTOS:KD64] Add annotations to debugger control routines used in Kd/Nt/ZwSystemDebugControl
2025-01-28 22:00:33 +01:00
Hervé Poussineau
20bd5e8a9c
[NTOS:MM] Allow not providing MMDBG_COPY_UNSAFE in MmDbgCopyMemory
...
Replace an assert by a log, as this works most of the times.
2025-01-28 22:00:31 +01:00
Hervé Poussineau
69cd1e107a
[NTOS:EX] Allow calling ExLockUserBuffer up to DISPATCH_LEVEL
2025-01-28 22:00:30 +01:00
Hervé Poussineau
d8e25f06b1
[NTOS:EX] Add prototypes for ExLockUserBuffer/ExUnlockUserBuffer
2025-01-28 22:00:29 +01:00
Hermès Bélusca-Maïto
2c59b5b8cf
[NDK] SYSDBG: Add SysDbgKdPullRemoteFile enum value and structure (Win10 19041+)
...
From https://github.com/processhacker/phnt/
2025-01-28 22:00:28 +01:00
Hermès Bélusca-Maïto
4d37135884
[NDK] SYSDBG: Add SysDbgGetLiveKernelDump enum value and structures for kernel live dump.
...
For more information, see:
https://crashdmp.wordpress.com/2014/08/04/livedump-1-0-is-available/
https://github.com/lilhoser/livedump
https://gary-nebbett.blogspot.com/2016/04/examining-windows-kernel-mode-stacks.html
https://github.com/processhacker/phnt
2025-01-28 22:00:28 +01:00
Hermès Bélusca-Maïto
b5007e09b1
[NDK] SYSDBG: Add versioning info for Vista+ commands.
2025-01-28 22:00:27 +01:00
Timo Kreuzer
ae0fa8ba49
[UCRTSUPPORT] Add wine c++ exception code
2025-01-28 22:50:04 +02:00
Timo Kreuzer
e2d69ad98c
[CRT] Split MSVC C++ aliases from cpp.s to cpp_alias.s
2025-01-28 22:50:04 +02:00
Hermès Bélusca-Maïto
40ea081198
[KMTESTS] Temporarily disable the debugger disable/reenable tests ( #7424 )
...
They will be re-enabled ONCE our KDBG and KDCOM dlls correctly support
disabling and re-enabling.
2025-01-28 15:54:04 +01:00
Hermès Bélusca-Maïto
94cb4d6c0c
[KMTESTS] Add tests for KdSystemDebugControl and NtSystemDebugControl ( #7424 )
...
Tested on Windows 2003 SP1.
Partially tested (but not completely) on higher versions.
2025-01-28 15:53:58 +01:00
Hermès Bélusca-Maïto
6ede6ac246
[KMTESTS] Remove "EnablePrivilege*" helpers + Fix typo
...
Their functionality is already ensured by RtlAdjustPrivilege().
2025-01-28 15:37:10 +01:00
Hermès Bélusca-Maïto
cf2cbe6ff6
[MOUNTMGR_APITEST] Add custom DesiredAccess to GetMountMgrHandle()
...
This will allow any future tests, employing IOCTL_MOUNTMGR_*
that require read or write accesses, to also use this helper.
2025-01-28 15:29:41 +01:00
Hermès Bélusca-Maïto
8d91d4c8e1
[MOUNTMGR] MountMgrMountedDeviceArrival(): Fix pool buffer double-free.
...
`DeviceInformation->DeviceName.Buffer` was already freed via the previous
`FreePool(TargetDeviceName.Buffer);` call,
since `DeviceInformation->DeviceName` was set to `TargetDeviceName` above
in the code. This resulted in a pool double-free, triggering a corruption
of the pool, and a BSoD.
What had to be freed instead, is `DeviceInformation->SymbolicName.Buffer`
that is allocated at the beginning of the function.
2025-01-28 15:29:40 +01:00
Hermès Bélusca-Maïto
5962c44511
[NTOS:IO] Fix a typo in comment
2025-01-28 15:29:39 +01:00
Katayama Hirofumi MZ
84df40a128
[SHELL32][SHELL32_APITEST][SDK] SHGetComputerDisplayNameW ( #7670 )
...
Implementing missing features...
JIRA issue: CORE-19278
- Modify shell32.spec.
- Move function definition from
stubs.cpp to utils.cpp.
- Implement
SHGetComputerDisplayNameW
function.
- Add prototype to <undocshell.h>.
2025-01-28 23:23:54 +09:00
Katayama Hirofumi MZ
1b5f6c2dc0
[UXTHEME][UXTHEME_APITEST][SDK] GetThemeParseErrorInfo ( #7662 )
...
Implementing missing features...
JIRA issue: CORE-12805
- Add dll/win32/uxtheme/errinfo.c.
- Implement GetThemeParseErrorInfo
function in errinfo.c.
- Modify uxtheme.spec.
- Add GetThemeParseErrorInfo
prototype to <uxundoc.h>.
- Adapt <uxundoc.h> to C++.
- Add global variable
gdwErrorInfoTlsIndex.
- Add UXTHEME_UnInitSystem
function.
2025-01-28 21:05:40 +09:00
Katayama Hirofumi MZ
0e327e9a70
[REACTOS] Follow-up of #7632 ; Revert 3rd-party changes
...
CORE-19963
2025-01-28 20:17:30 +09:00
Katayama Hirofumi MZ
fe11f7a2e5
[REACTOS] Refresh old URLs ( #7632 )
...
URLs are getting old. We have to
update URLs for documentation
purpose.
JIRA issue: CORE-19963
- Refresh old URLs.
- Add " (DEAD_LINK)" labels
to dead links.
- Use MS Learn links rather
than MSDN ones.
- Some dead links revived by
Web Archive.
- Don't change Wine Tests
and Wine Sync.
- Don't change 3rd party libraries.
- Don't append "redirected" labels.
2025-01-28 13:36:45 +09:00
Justin Miller
9a9aa6fdb9
[MEDIA] Revise winesync file after 0bf42067d2
2025-01-26 23:48:49 -08:00
Justin Miller
0bf42067d2
[KERNEL32][ROSTESTS][SDK] Enable threadpooling
...
[NTDLL] Init KeyedEvents even on NT5.2 dll_export
[MEDIA] Update winesync.txt accordingly
[SDK][DLL] Initialize crtical sections at runtime
2025-01-26 23:30:59 -08:00
Justin Miller
88a63011ea
[ROSTESTS] Import winetest threadpool.c from wine-9.7
2025-01-26 23:30:59 -08:00
Denis Malikov
405ed2b4ce
[KERNEL32_VISTA][SDK] Import Threadpool.c from wine-9.7
2025-01-26 23:30:59 -08:00
Timo Kreuzer
d92f02e2e5
[CMAKE] Build host tools as Debug by default
...
This is to fix kmtests on Test WHS. Seemingly something is broken with release builds of host tools, at least on GCC x86.
2025-01-26 23:52:45 +02:00
Timo Kreuzer
efdda7f7d9
[APISETS] Use ucrtbase as the lord intended instead of msvcrt
2025-01-26 18:08:55 +02:00
Timo Kreuzer
41ffe7f3c6
[UCRTBASE] Add ucrtbase.dll to build
2025-01-26 18:08:55 +02:00
Timo Kreuzer
9f15d9ee57
[UCRT:MATH] Implement _dtest, _fdtest
2025-01-26 18:08:55 +02:00
Timo Kreuzer
59c55e003e
[UCRT:MATH] Implement _dclass, _fdclass
2025-01-26 18:08:55 +02:00
Timo Kreuzer
0133dba0c6
[CMAKE] Disable GCC builtin math functions
2025-01-26 18:08:55 +02:00
Timo Kreuzer
efe84ec41a
[UCRT] Add "aliases" for some hacked clang builtins
2025-01-26 18:08:55 +02:00
Timo Kreuzer
d74ab36324
[UCRTSUPPORT] Add ucrtsupport library
...
This library is compiled from our old CRT sources to supplement missing UCRT code.
2025-01-26 18:08:55 +02:00
Timo Kreuzer
82ef7b5df1
[CMAKE] Do not implicitly link libgcc/stdc++compat to msvcrt
...
This allows ucrtbase and modules linked to it to be linked to those helper libraries.
2025-01-26 18:08:55 +02:00
Timo Kreuzer
b09b5584e0
[UCRT:MATH] Implement math error support functions
2025-01-26 18:08:55 +02:00
Timo Kreuzer
8aab548ecd
[UCRT:VCRUNTIME] Implement __isa_available_init()
2025-01-26 18:08:55 +02:00
Timo Kreuzer
9c887efa0e
[UCRT:VCRUNTIME] Add initializer sections
...
Use #pragma section only for MSVC (and Clang-cl), because Clang doesn't like allocating non-const variables in a read-only section, while GCC doesn't understand these pragmas and ignores them.
2025-01-26 18:08:55 +02:00
Timo Kreuzer
4198ceb83a
[UCRT:VCRUNTIME] Implement vcruntime init stubs
2025-01-26 18:08:55 +02:00
Timo Kreuzer
4d80956566
[UCRT:VCRUNTIME] Implement __report_rangecheckfailure()
2025-01-26 18:08:55 +02:00
Timo Kreuzer
b0f3e623b7
[UCRT:VCRUNTIME] Implement __report_gsfailure()
2025-01-26 18:08:55 +02:00
Timo Kreuzer
5dcd1d1714
[UCRT:VCRUNTIME] Implement __security_init_cookie and __security_check_cookie
2025-01-26 18:08:55 +02:00
Timo Kreuzer
055875fbd8
[UCRT:FLOAT] Add _fltused
2025-01-26 18:08:55 +02:00
Timo Kreuzer
4462342076
[UCRT:STARTUP] Implement __scrt_uninitialize_crt stub
2025-01-26 18:08:55 +02:00
Timo Kreuzer
d21fd37650
[UCRT:LOCALE] Implement __acrt_WideCharToMultiByte
2025-01-26 18:08:55 +02:00
Timo Kreuzer
bd3c7654ec
[UCRT:LOCALE] Implement __acrt_MultiByteToWideChar
2025-01-26 18:08:55 +02:00