History log of /reactos/win32ss/user/ntuser/desktop.c (Results 1 – 25 of 45)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: 0.4.16-dev, 0.4.15
# db419efb 26-Aug-2024 Timo Kreuzer <timo.kreuzer@reactos.org>

[WIN32K] Fix protection of USER heap

Create the section with PAGE_READWRITE, not PAGE_EXECUTE_READWRITE and map in user mode with PAGE_READONLY, not PAGE_EXECUTE_READ.
Original commit was ea5261f in

[WIN32K] Fix protection of USER heap

Create the section with PAGE_READWRITE, not PAGE_EXECUTE_READWRITE and map in user mode with PAGE_READONLY, not PAGE_EXECUTE_READ.
Original commit was ea5261f in 2006. The comments suggest that back then the heap code had issues with it, which is not the case anymore.

show more ...


# 6ca6088f 03-Sep-2024 Timo Kreuzer <timo.kreuzer@reactos.org>

[NTUSER] Increase desktop heap size

Distinguish between the following 3 scenarios:
1. Interactive Winsta0, "Winlogon" desktop: use 128 KB
2. Interactive Winsta0, "Default" & other desktop: use 3 MB

[NTUSER] Increase desktop heap size

Distinguish between the following 3 scenarios:
1. Interactive Winsta0, "Winlogon" desktop: use 128 KB
2. Interactive Winsta0, "Default" & other desktop: use 3 MB (x86) / 20 MB (x64)
3. Non-interactive winsta: use 128 KB

This is what Windows 2003 uses for the interactive desktops on x86 and what Windows 7 uses for x64. Fixes desktop heap exhaustion during testing. The previous value was 512 KB for all desktops.
It doesn't handle the even smaller "Disconnected" desktop, which is only meaningful for RDP sessions and we don't use it anyway.
See comments in the file for references.

show more ...


# 90ed6862 05-Jan-2024 Thamatip Chitpong <thamatip.chitpong@reactos.org>

[NTUSER] Use UserHMGetHandle macro (#6244)

Use UserHMGetHandle macro everywhere instead of obj->head.h for consistency.


# 533d877a 21-Dec-2023 Thamatip Chitpong <thamatip.chitpong@reactos.org>

[NTUSER] Remove RETURN() macro (#6194)

Remove macro definition and the remaining uses.
RETURN() macro is just a wrapper for goto, most of the time it makes the code more complicated than using goto

[NTUSER] Remove RETURN() macro (#6194)

Remove macro definition and the remaining uses.
RETURN() macro is just a wrapper for goto, most of the time it makes the code more complicated than using goto directly.

show more ...


# 2ea03b5b 22-Aug-2023 Andriy Shevchenko <nfxpnk@gmail.com>

[REACTOS] Fix typos in comments (#5591)

Fixing typos in code comments enhances code readability and comprehension for developers and collaborators.


# abb75b62 26-Dec-2022 Timo Kreuzer <timo.kreuzer@reactos.org>

[WIN32K] Add some NULL checks for THREADINFO::rpdesk

rpdesk should probably never be NULL, but it happens in rare circumstances, like csrss being terminated.


# d21895e6 06-May-2022 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

[WIN32K:NTUSER] Only call IntFreeSecurityBuffer() when needed, don't free NULL buffers.

Addendum to 878c2f44.


# aa815e1c 07-May-2022 George Bișoc <george.bisoc@reactos.org>

[WIN32K:NTUSER] Assign a security descriptor when parsing the desktop object

The problem ReactOS currently faces is this -- whenever the desktop is being parsed we aren't assigning a security descri

[WIN32K:NTUSER] Assign a security descriptor when parsing the desktop object

The problem ReactOS currently faces is this -- whenever the desktop is being parsed we aren't assigning a security descriptor to it. As a matter of fact when Winlogon tries to assign new security information to the application desktop when a user logs in, Winlogon fails because no prior descriptor has been created for it even though we already do this when initializing security buffers in Winlogon.

With that said, we must assign a descriptor when parsing the desktop as well. This fixes a hack in Winlogon where security assigning of application desktop during a log in is disabled (which we can now enable such code path back).

show more ...


# 878c2f44 16-Mar-2022 George Bișoc <george.bisoc@reactos.org>

[WIN32K:NTUSER] Implement security infrastructure for NTUSER component

Implement a base security infrastructure with code that sets up a security descriptor for the service that we're going to conne

[WIN32K:NTUSER] Implement security infrastructure for NTUSER component

Implement a base security infrastructure with code that sets up a security descriptor for the service that we're going to connect through it. Such service is based upon a desktop and a window station.

=== DOCUMENTATION REMARKS ===
The authenticated user, represented by an access token that describes its security context, is the main holder and has ultimate power against the default created desktop and window station objects in USER. The authenticated user in question
is the actual logged in user, this is the case when the server is impersonating a client. Administrators on the other hand have some share of power against default desktop but their power in question is extremely limited against the default
window station as admins can only just enumerate the available and valid handle stations within a desktop.

show more ...


# 291a94cd 19-Apr-2022 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>

[NTUSER] Implement NtUserSetImeOwnerWindow (#4460)

- Add IntImeSetFutureOwner, IntGetLastTopMostWindowNoIME, IntImeSetTopMost, and IntImeCheckTopmost helper functions.
- Implement NtUserSetImeOwner

[NTUSER] Implement NtUserSetImeOwnerWindow (#4460)

- Add IntImeSetFutureOwner, IntGetLastTopMostWindowNoIME, IntImeSetTopMost, and IntImeCheckTopmost helper functions.
- Implement NtUserSetImeOwnerWindow function.
CORE-11700

show more ...


# 567b0700 16-Apr-2022 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>

[NTUSER] Add 'Win:' comments to some functions (#4453)


Revision tags: 0.4.14-release, 0.4.15-dev, 0.4.14-RC, 0.4.13-release
# 5e93daa9 10-Jan-2020 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

[WIN32SS] Use the DCFLAGS and DCTYPE flags defined in ntgdi/dc.h instead of the old ones in include/ntgdihdl.h

The names of these new flags match the documented ones at
https://reactos.org/wiki/Tech

[WIN32SS] Use the DCFLAGS and DCTYPE flags defined in ntgdi/dc.h instead of the old ones in include/ntgdihdl.h

The names of these new flags match the documented ones at
https://reactos.org/wiki/Techwiki:Win32k/DC
https://books.google.hr/books?id=-O92IIF1Bj4C&pg=PA197&lpg=PA197
and the gdikdx debug extension.

show more ...


# d375b7f6 19-Dec-2021 Serge Gautherie <32623169+SergeGautherie@users.noreply.github.com>

[WIN32K:NTUSER] Make sure to hold User Global Lock before mapping desktop heap (#4144)

Addendum to 8c098ee8d.
CORE-17890


# 5891ab2b 19-Oct-2021 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

[WIN32SS:NTUSER] Make sure to hold User Global Lock before manipulating desktops. (#4053)


# 6b7b0f0c 19-Oct-2021 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

[WIN32SS:NTUSER] Few formatting fixes.


# 8c098ee8 30-Jul-2021 Jérôme Gardou <jerome.gardou@reactos.org>

[WIN32K:NTUSER] Make sure to hold User Global Lock before unmapping desktop heap


# 5c7ce447 06-Oct-2020 Victor Perevertkin <victor.perevertkin@reactos.org>

[REACTOS] Cleanup INIT and some PAGE section allocations

- Change INIT_FUNCTION and INIT_SECTION to CODE_SEG("INIT") and DATA_SEG("INIT") respectively
- Remove INIT_FUNCTION from function prototypes

[REACTOS] Cleanup INIT and some PAGE section allocations

- Change INIT_FUNCTION and INIT_SECTION to CODE_SEG("INIT") and DATA_SEG("INIT") respectively
- Remove INIT_FUNCTION from function prototypes
- Remove alloc_text pragma calls as they are not needed anymore

show more ...


Revision tags: 0.4.14-dev, 0.4.13-RC
# 1f78e8ec 24-Sep-2019 James Tabor <james.tabor@reactos.org>

[Win32SS] Support Module Versioning.

Set the appropriate flags supporting versions of software modules.
Fix arguments for getting desktop DC.


Revision tags: 0.4.12-release, 0.4.12-RC, 0.4.13-dev, 0.4.11-release, 0.4.11-RC, 0.4.12-dev
# 458a26ab 26-Nov-2018 Andrew Boyarshin <andrew.boyarshin@gmail.com>

[WIN32SS:NTUSER] Use the 2nd parameter of NtUserGetThreadDesktop() as fallback. (#1065)

- The 2nd parameter is already passed in user-mode by GetThreadDesktop().
It is then used by NtUserGetThread

[WIN32SS:NTUSER] Use the 2nd parameter of NtUserGetThreadDesktop() as fallback. (#1065)

- The 2nd parameter is already passed in user-mode by GetThreadDesktop().
It is then used by NtUserGetThreadDesktop() as a fallback for console
threads.

- Lookup and validate the thread by using the IntTID2PTI() helper.
- Don't reference the desktop with too many access rights.
- Get rid of the old-school DECLARE_RETURN() & co. macros.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

show more ...


# 60448f83 02-Jan-2019 Giannis Adamopoulos <gadamopoulos@reactos.org>

[NTUSER] Fix a few tests related to desktops and window stations
- NtUserOpenInputDesktop: Don't crash if there is no input desktop yet
- NtUserOpenInputDesktop: Fail if the process doesn't belong to

[NTUSER] Fix a few tests related to desktops and window stations
- NtUserOpenInputDesktop: Don't crash if there is no input desktop yet
- NtUserOpenInputDesktop: Fail if the process doesn't belong to the interactive window station
- NtUserCreateWindowStation: Clear error on success
- DesktopWindowProc: Use UserOpenInputDesktop to get a handle to the input desktop

show more ...


# 1a8d9f12 16-Dec-2018 Giannis Adamopoulos <gadamopoulos@reactos.org>

[NTUSER] Implement creating the system threads
- Add UserCreateSystemThread function that will signal csrss to create a new system thread.
- NtUserCreateWindowStation: Create the raw input thread and

[NTUSER] Implement creating the system threads
- Add UserCreateSystemThread function that will signal csrss to create a new system thread.
- NtUserCreateWindowStation: Create the raw input thread and the desktop thread when the IO window station gets created.
- IntMakeHungWindowGhosted: Create the ghost system thread that will own all ghost windows.
- Let the raw input thread manage the window station of csrss.

[USERSRV] Remove system threads creating hack
- Implement SrvCreateSystemThreads
- Don't create the system threads in UserServerDllInitialization.

show more ...


Revision tags: 0.4.10-release, 0.4.11-dev, 0.4.10-RC
# e3b91529 22-Jul-2018 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

[WIN32K:NTUSER] For processes that start without any window station and no desktops but manage these (e.g. winlogon.exe), assign their startup desktop when they assign a desktop to one of their threa

[WIN32K:NTUSER] For processes that start without any window station and no desktops but manage these (e.g. winlogon.exe), assign their startup desktop when they assign a desktop to one of their threads.

show more ...


# f3699c38 22-Jul-2018 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

[WIN32K:NTUSER] NtUserCloseDesktop(): Use ObCloseHandle instead.


# c697f191 22-Jul-2018 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

[WIN32K:NTUSER] Make NtUserResolveDesktop() and IntResolveDesktop() work in a more Win2k3-compatible manner.
CORE-11933 and PR #621.

Since this API is also called from WINSRV when calling the AllocC

[WIN32K:NTUSER] Make NtUserResolveDesktop() and IntResolveDesktop() work in a more Win2k3-compatible manner.
CORE-11933 and PR #621.

Since this API is also called from WINSRV when calling the AllocConsole() API,
it can be tested more-or-less easily. The internal helper IntResolveDesktop()
is also tested during process connection to a window station, when such process
first calls a USER32 or GDI32 function.
This is also the functionality tested by the user32:desktop apitest.

- Adjust how IntResolveDesktop() is called.

show more ...


# 83104d9f 22-Jul-2018 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>

[WIN32K:NTUSER] Code style fixes only.


12