Pierre Schweitzer
8d128aa441
[KERNEL32] Reduce QueryDosDeviceA memory footprint
...
by using TEB static unicode string (which is already
preallocated).
Also, properly handle RtlUnicodeStringToAnsiString failures.
Finally, make sure output buffer is properly 0 terminated.
2019-05-05 10:17:16 +02:00
Pierre Schweitzer
1ed7f27466
[KERNEL32] Reduce DefineDosDeviceA memory footprint
...
by using TEB static unicode string (which is already
preallocated).
2019-05-05 10:17:16 +02:00
Hermès Bélusca-Maïto
77d234b049
[KERNEL32] Addendum to 0e3a0435
(PR #803 ): always return TRUE in the stub-plemented SetThreadStackGuarantee() to continue satisfying programs that use it. CORE-15989
2019-04-29 22:51:35 +02:00
Hermès Bélusca-Maïto
0e3a043526
[KERNEL32] Add an (incomplete) pre-implementation for SetThreadStackGuarantee(). ( #803 )
...
This should remove some of the "SetThreadStackGuarantee(): stub" messages in some simple cases.
2019-04-27 18:41:50 +02:00
Eric Kohl
afca8367ea
[KERNEL32] GetSystemPowerStatus(): Set the BATTERY_FLAG_CRITICAL flag if the battery life gets lower than 5 percent.
2019-04-19 22:30:46 +02:00
Eric Kohl
333eb16f30
[KERNEL32] GetSystemPowerStatus(): Fix coding style. No code changes!
2019-04-19 22:28:11 +02:00
Mark Jansen
5c05a29d3d
[APPHELP] Implement ShimDumpCache and ShimFlushCache
...
These functions simply call into the Base* functions,
having a prototype that is compatible with rundll32
CORE-11301
2019-02-25 20:00:34 +01:00
Eric Kohl
38160b207d
[KERNEL32] GetComputerNameExW: Fix crash in kernel32_winetest environ test
2019-01-07 22:45:33 +01:00
Timo Kreuzer
cfd1647914
[REACTOS] Fix misc 64 bit issues ( #783 )
...
* [WIN32K] Fix handle calculation in DbgGdiHTIntegrityCheck
* [NOTEPAD] Fix MSVC warnings
* [PSDK] Simplify *PROC definitions in windef.h
* [VIDEOPRT] Don't try to use NtVdmControl on x64
* [FREELDR] Fix some macros
* [CRT] Make qsort 64 bit compatible
* [NTOS] Use #ifndef _WIN64 instead of #ifdef _M_IX86 around C_ASSERTs
* [FAST486] Fix 64 bit warnings and change DWORD to ULONG, so it can be used in kernel mode
* [APPHELP_APITEST] Fix 64 bit issue
2019-01-05 10:50:11 +01:00
Eric Kohl
b2819c353c
[KERNEL32] Store the current computer name in the volatile ActiveComputerName key on first query in order to ensure that the visible computer name does not change until the next reboot.
2018-12-16 10:28:26 +01:00
Mark Jansen
faddd38b36
[KERNEL32] Revert d897e27
, which would re-initialized a list.
...
Spotted by Andrew Boyarshin.
2018-12-03 20:48:14 +01:00
Denis Malikov
d897e271a2
[KERNEL32] FlsAlloc - fiber local storage list was not initialized before using
2018-11-21 19:18:01 +01:00
Mark Jansen
824e5dba51
[KERNEL32] Directly use UnhandledExceptionFilter in BaseProcessStartup
2018-10-28 13:01:38 +01:00
Mark Jansen
40549483f6
[KERNEL32] Use the default UnhandledExceptionFilter in BaseThreadStartup.
...
This should allow unhandled exceptions in a thread to trigger our crash reporter,
instead of killing the process directly.
2018-10-28 13:01:38 +01:00
Mark Jansen
12654d2852
[KERNEL32] Ensure the PebLock is always released in FlsFree
2018-09-15 17:56:03 +02:00
Mark Jansen
06eb99edef
[NTDLL][KERNEL32] Implement FLS callbacks.
2018-09-15 17:56:03 +02:00
Pierre Schweitzer
2bd33d58d8
[KERNEL32] Shhhh!
2018-09-01 15:46:44 +02:00
Stanislav Motylkov
844483504b
[KERNEL32] Implement system firmware functions properly
2018-08-19 20:27:59 +02:00
Timo Kreuzer
094a90ad4e
[NTOS:PS] Fix an issue with PROCESS_DEVICEMAP_INFORMATION size on 64 bit builds
...
The PROCESS_DEVICEMAP_INFORMATION union has 2 fields, one is a handle, the other one is a structure of 36 bytes (independent of architecture). The handle forces 64 bit alignment on 64 bit builds, making the structure 4 bytes bigger than on 32 bit builds. The site is checked in NtQueryInformationProcess (case ProcessDeviceMap). The expected size on x64 is the size of the Query structure without alignment. autocheck correctly passes the site of the Query union member, while smss passes the full size of PROCESS_DEVICEMAP_INFORMATION. Packing the structure is not an option, since it is defined in public headers without packing. Using the original headers sizeof(PROCESS_DEVICEMAP_INFORMATION) is 0x28, sizeof(PROCESS_DEVICEMAP_INFORMATION::Query) is 0x24.
2018-08-17 22:08:37 +02:00
Mark Jansen
9b6fb9f2f8
[RTL][KERNEL32] Add a comment indicating we need SEH in RtlImageNtHeaderEx
...
CORE-14532
CORE-14857
2018-08-13 13:24:12 +02:00
Timo Kreuzer
0f8439aa71
[DLLS] Fix 64 bit issues
2018-08-04 19:19:34 +02:00
Timo Kreuzer
4f0a158a2f
[KERNEL32] Fix 64 bit issues
2018-08-04 19:19:34 +02:00
Stanislav Motylkov
d956eafda8
[KERNEL32] Implement System Firmware functions
...
- Implement EnumSystemFirmwareTables
- Implement GetSystemFirmwareTable
These functions currently using registry workaround and can be improved later.
CORE-12105
2018-08-02 21:15:28 +02:00
Hermès Bélusca-Maïto
2158f31b71
[KERNEL32] Use RtlStringCbCopyNW() to correctly fill the WIN32_FIND_DATA.cFileName and cAlternateFileName members without any overflow and with a terminating NULL character.
2018-07-22 21:32:38 +02:00
Hermès Bélusca-Maïto
c7022c1b0c
[KERNEL32] Use NULL for pointers.
2018-07-07 18:58:03 +02:00
Serge Gautherie
a8f1bea4b1
[KERNEL32] FlsAlloc(): Add a missing '\n' to a DPRINT1()
2018-04-14 16:07:29 +02:00
Mark Jansen
ac620c2e8e
[KERNEL32] Implement FlsAlloc/FlsFree based on Wine's implementation.
2018-04-08 17:27:24 +02:00
Mark Jansen
ee7f479c57
[RTL][XDK][KERNERL32_WINETEST] Import wine actctx changes from 3.2-37c98396
...
This adds support for reading the trustInfo (requestedExecutionLevel),
and the compatibility (supportedOs) sections.
2018-02-19 22:23:39 +01:00
Mark Jansen
4a2ad113e5
[KERNEL32] Add version info to VerifyVersionInfo mismatch print.
2018-01-15 19:47:58 +01:00
Colin Finck
63a3a2cbb8
[KERNEL32] Accept all images for NT 3.1 and higher instead of bailing out at image versions > 5.01 ( #273 )
...
Print a debug message whenever an application newer than ReactOS' internal NT version is started.
This gets a simple "Hello World" compiled by VS' 2017 regular "v141" toolchain to run under ReactOS.
Please retry NT6+ applications!
2018-01-10 09:24:22 +01:00
Timo Kreuzer
a2f7de7ee8
Amd64/misc 64bit fixes ( #236 )
...
[REACTOS] Misc 64 bit fixes
* [NTOS:MM] Allow MEM_DOS_LIM in NtMapViewOfSection on x64 as well
* [NTOS:MM] Implement x64 version of MmIsDisabledPage
* [HAL] Remove obsolete code
* [NTOS:KE] Fix amd64 version of KeContextToTrapFrame and KeTrapFrameToContext
* [XDK] Fix CONTEXT_XSTATE definition
* [PCNET] Convert physical address types from pointers to PHYSICAL_ADDRESS
2018-01-01 12:07:50 +01:00
Ivan Labutin
d6792047f3
[NTOS][NDK][RTL] A bunch of 'wrong size' fixes
2017-12-20 06:56:09 +01:00
Hermès Bélusca-Maïto
eea43394bf
[KERNEL32] Improve the definition of EXENAME_LENGTH.
2017-12-16 21:07:23 +01:00
Hermès Bélusca-Maïto
197ec4c5b8
[KERNEL32] Update some console API prototypes.
2017-12-10 17:04:29 +01:00
Pierre Schweitzer
4fcaf92ec3
[KERNEL32] Silent a noisy DPRINT1
2017-12-09 11:54:18 +01:00
Pierre Schweitzer
ebe9735835
[KERNEL32] Fix a FIXME in WaitNamedPipeW(): allow waiting on a remote pipe
2017-10-29 20:34:49 +01:00
Pierre Schweitzer
a80f5f53e7
[KERNEL32] In GetLogicalDrives(), if NtQueryInformationProcess() call succeed, but return drive map is empty, make sure returned error is success.
...
Patch by Alex Ionescu
2017-10-29 14:49:59 +01:00
Pierre Schweitzer
0add5d0a79
[KERNEL32] Fix MSVC build
2017-10-23 17:25:19 +02:00
Pierre Schweitzer
34c39a1336
[KERNEL32] Implement NpGetUserNamep()
2017-10-23 17:09:21 +02:00
Pierre Schweitzer
19cef7806c
[KERNEL32] Fix a FIXME in GetNamedPipeHandleStateW and stub a private function for a left unimplemented function
2017-10-23 14:36:18 +02:00
Pierre Schweitzer
3832f83a32
[KERNEL32] Check Basep8BitStringToDynamicUnicodeString() return and only call -W in case of success
...
CID 1419330
2017-10-23 13:39:44 +02:00
Pierre Schweitzer
19f1cd78c1
[KERNEL32] Check NtQueryInformationFile succeed before using its return. Also fix coding style
...
CID 512966
2017-10-23 12:36:43 +02:00
Pierre Schweitzer
5bfc68cc14
[KERNEL32] Fix buffer size for allocation in GetVolumeInformationW(). This fixes function failing with big enough buffer.
2017-10-15 10:43:49 +02:00
Pierre Schweitzer
dc8bfeabcf
[KERNEL32] Use proper size for allocating buffer in GetVolumeInformationA(). This was leading to allocate a too small buffer under certain conditions and to overrun it.
...
This fixes JRE7 setup.
This regression was brought in by r75969.
CORE-13888
2017-10-14 23:19:12 +02:00
Pierre Schweitzer
d7ee95b28b
[KERNEL32]: w2k3ify GetDriveTypeA()
2017-10-05 23:43:10 +02:00
Pierre Schweitzer
cb17d5dba4
[KERNEL32]: Reimplement GetDriveTypeW(). This allows providing a quick path for DOS drives and fixes a few detection cases. It allows brings in support for mount points.
2017-10-05 23:41:26 +02:00
Pierre Schweitzer
676bd0cf37
[KERNEL32]: Finally get rid of no longer used function InternalOpenDirW()
2017-10-05 22:14:44 +02:00
Pierre Schweitzer
8b6518139d
[KERNEL32]: Reimplement GetDiskFreeSpaceExA() to make it w2k3 compliant
2017-10-05 22:14:44 +02:00
Pierre Schweitzer
1e2424ee98
[KERNEL32]: Refactor a bit GetDiskFreeSpaceExW(), no ground breaking changes
2017-10-05 22:14:44 +02:00
Pierre Schweitzer
87448f3d8b
[KERNEL32]: Reimplement GetDiskFreeSpaceA() to make it w2k3 compliant
2017-10-05 22:14:44 +02:00