Use preferred memory handling on memory
shortage.
JIRA issue: N/A
- Link cppstl instead of cpprt.
- Use <new> new(std::throw) for memory
allocation.
- Return E_OUTOFMEMORY on allocation
failure.
- Don't use <stdlib.h> min macro but use
<cstdlib> __min.
VS2022 version 17.2 and later (`_MSC_VER >= 1932`) added new intrinsic
functions (`strncmp`, `strncpy`, `wcsncmp`, and `wcsncpy`).
As we implement these ourselves, we have to avoid compiler error C2169.
This problem surfaced with a recent GitHub Actions update:
https://github.com/actions/runner-images/issues/14017
Use `#pragma function(...)` to disable new intrinsic functions.
This is a termporary solution to provide part of the needed APIs from wine modules, until we have a fully working kernelbase.
This one imports from msvcrt, kernel32 and advapi32.
- Write InstallationType to registry.
- If installing as Server Core, set shell to cmd.exe.
- Rename "Product Option" to "Install Type" and adjust relevant variable names.
- Reserve Nano Server installation type for future use.
JIRA issue: CORE-20645
It is the same function as RtlInterlockedPushListSList, but with stdcall calling convention instead of fastcall.
On x86 this is a wrapper, on all other architectures it is simply a forwarder.
Implementing missing features...
JIRA issue: N/A
- Implement CShellDispatch::EjectPC
by using TRAYCMD_EJECT tray
command.
- Add TRAYCMD_SUSPEND and
TRAYCMD_REFRESH_MENU tray
commands (they have no effect)
into <undocshell.h>.
Preparation for new ShellExecute.
JIRA issue: CORE-20467
- Move ASSOCQUERY and
IAssociationElementOld in
<shlwapi_undoc.h> into
<shlobj_undoc.h>.
- Add IQuerySourceOld, IQuerySource,
IObjectWithQuerySource, and
IAssociationArrayInitialize
interfaces into <shlobj_undoc.h>.
- Add some GUIDs into
<shlguid_undoc.h>.
- Do #include <shlwapi_undoc.h>
in sysdm performance.c to fix build.
CORE-20573
Improve chkdsk output when failing to complete successfully by adding the returned error code.
Return status code from fmifs/chkdsk.c in the "modifier" parameter.
If the error returned is STATUS_DISK_CORRUPT_ERROR then display a message that running again may fix it.
In `SHELL32_IsShellFolderNamespaceItemHidden()`, use `SHRegGetBoolUSValue()`
to look at both `HKEY_CURRENT_USER` with fallback to `HKEY_LOCAL_MACHINE`,
when searching for the registry value that determines whether a shell-folder
namespace item is to be hidden or shown.
Behaviour confirmed on Windows 2003.
Addendum to commit 6ae11ba09d (PR #7189).
- Use the NT6 structure of _RTL_USER_PROCESS_PARAMETERS
- Fix string alignment to match Vista+
- Use ImageName as fallback for the CommandLine
- Use NULL-string as fallback fo RuntimeData
- Copy the environment instead of just copying the pointer
- Fixes a number of ntdll_winetest:env tests