18{
20
21
24
26
27 switch (ConsoleCtrl)
28 {
30 {
34
35 if (ConsoleCtrlInfoLength != sizeof(DesktopConsoleThreadInfo))
36 {
38 break;
39 }
40
42 {
45 }
47 {
50 }
52
53
55 0,
61
62
63 OldThreadId =
Desktop->dwConsoleThreadId;
64
65
67 {
69 }
70
71
72 DesktopConsoleThreadInfo.
ThreadId = OldThreadId;
73
74
76
77
79 {
81 }
83 {
85 }
87
88 break;
89 }
90
92 {
93 if (ConsoleCtrlInfoLength !=
sizeof(
ATOM))
94 {
96 break;
97 }
98
100 {
103 }
105 {
107 }
109
110 break;
111 }
112
114 {
115 HPALETTE hPalette;
116
117 if (ConsoleCtrlInfoLength != sizeof(hPalette))
118 {
120 break;
121 }
122
124 {
126 hPalette = *(HPALETTE*)ConsoleCtrlInfo;
127 }
129 {
132 }
134
135
139 break;
140 }
141
143 {
144 ERR(
"NtUserConsoleControl - ConsoleAcquireDisplayOwnership is UNIMPLEMENTED\n");
146 break;
147 }
148
149 default:
150 ERR(
"Calling invalid control %d in NtUserConsoleControl\n", ConsoleCtrl);
152 break;
153 }
154
156
158}
#define NT_SUCCESS(StatCode)
#define INVALID_HANDLE_VALUE
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
VOID NTAPI ProbeForWrite(IN PVOID Address, IN SIZE_T Length, IN ULONG Alignment)
#define EXCEPTION_EXECUTE_HANDLER
@ ConsoleCtrlDesktopConsoleThread
@ ConsoleMakePalettePublic
@ ConsoleAcquireDisplayOwnership
struct _DESKTOP_CONSOLE_THREAD * PDESKTOP_CONSOLE_THREAD
#define GDI_OBJ_HMGR_PUBLIC
#define STATUS_NOT_IMPLEMENTED
#define STATUS_INVALID_INFO_CLASS
VOID FASTCALL UserLeave(VOID)
VOID FASTCALL UserEnterExclusive(VOID)
ATOM gaGuiConsoleWndClass
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define _SEH2_YIELD(__stmt)
#define STATUS_ACCESS_DENIED
#define STATUS_INFO_LENGTH_MISMATCH
POBJECT_TYPE ExDesktopObjectType
BOOL NTAPI GreSetObjectOwnerEx(HGDIOBJ hobj, ULONG ulOwner, ULONG Flags)
#define ObDereferenceObject
#define PsGetCurrentProcess