ReactOS  0.4.13-dev-259-g5ca9c9c
guisettings.h File Reference
#include "conwnd.h"
Include dependency graph for guisettings.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _GUI_CONSOLE_INFO
 

Typedefs

typedef struct _GUI_CONSOLE_INFO GUI_CONSOLE_INFO
 
typedef struct _GUI_CONSOLE_INFOPGUI_CONSOLE_INFO
 

Functions

BOOL GuiConsoleReadUserSettings (IN OUT PGUI_CONSOLE_INFO TermInfo)
 
BOOL GuiConsoleWriteUserSettings (IN OUT PGUI_CONSOLE_INFO TermInfo)
 
VOID GuiConsoleGetDefaultSettings (IN OUT PGUI_CONSOLE_INFO TermInfo)
 
VOID GuiConsoleShowConsoleProperties (PGUI_CONSOLE_DATA GuiData, BOOL Defaults)
 
VOID GuiApplyUserSettings (PGUI_CONSOLE_DATA GuiData, HANDLE hClientSection)
 

Typedef Documentation

◆ GUI_CONSOLE_INFO

◆ PGUI_CONSOLE_INFO

Function Documentation

◆ GuiApplyUserSettings()

VOID GuiApplyUserSettings ( PGUI_CONSOLE_DATA  GuiData,
HANDLE  hClientSection 
)

Definition at line 258 of file guisettings.c.

260 {
262  PCONSRV_CONSOLE Console = GuiData->Console;
263  PCONSOLE_PROCESS_DATA ProcessData;
264  HANDLE hSection = NULL;
265  SIZE_T ViewSize = 0;
266  PCONSOLE_STATE_INFO pConInfo = NULL;
267 
269 
270  /* Get the console leader process, our client */
271  ProcessData = ConSrvGetConsoleLeaderProcess(Console);
272 
273  /* Duplicate the section handle for ourselves */
275  hClientSection,
277  &hSection,
278  0, 0, DUPLICATE_SAME_ACCESS);
279  if (!NT_SUCCESS(Status))
280  {
281  DPRINT1("Error when mapping client handle, Status = 0x%08lx\n", Status);
282  goto Quit;
283  }
284 
285  /* Get a view of the shared section */
288  (PVOID*)&pConInfo,
289  0,
290  0,
291  NULL,
292  &ViewSize,
293  ViewUnmap,
294  0,
296  if (!NT_SUCCESS(Status))
297  {
298  DPRINT1("Error when mapping view of file, Status = 0x%08lx\n", Status);
299  goto Quit;
300  }
301 
302  _SEH2_TRY
303  {
304  /* Check that the section is well-sized */
305  if ( (ViewSize < sizeof(CONSOLE_STATE_INFO)) ||
306  (pConInfo->cbSize < sizeof(CONSOLE_STATE_INFO)) )
307  {
308  DPRINT1("Error: section bad-sized: sizeof(Section) < sizeof(CONSOLE_STATE_INFO)\n");
310  _SEH2_YIELD(goto Quit);
311  }
312 
313  // TODO: Check that GuiData->hWindow == pConInfo->hWnd
314 
315  /* Retrieve terminal informations */
316 
317  /* Console information */
318 #if 0 // FIXME: Things not set
321  ConInfo.HistoryNoDup = !!pConInfo->HistoryNoDup;
322  ConInfo.CodePage = pConInfo->CodePage; // Done in ConSrvApplyUserSettings
323 #endif
324 
325  /*
326  * Apply the settings
327  */
328 
329  /* Set the console informations */
330  ConSrvApplyUserSettings(Console, pConInfo);
331 
332  /* Set the terminal informations */
333 
334  /* Refresh the additional TrueType fonts cache and change the font */
336  InitFonts(GuiData,
337  pConInfo->FaceName,
338  pConInfo->FontFamily,
339  pConInfo->FontSize,
340  pConInfo->FontWeight);
341  // HACK, needed because changing font may change the size of the window
343 
344  /* Move the window to the user's values */
345  GuiData->GuiInfo.AutoPosition = !!pConInfo->AutoPosition;
346  GuiData->GuiInfo.WindowOrigin = pConInfo->WindowPosition;
347  GuiConsoleMoveWindow(GuiData);
348 
349  InvalidateRect(GuiData->hWindow, NULL, TRUE);
350 
351  /*
352  * Apply full-screen mode.
353  */
354  if (!!pConInfo->FullScreen != GuiData->GuiInfo.FullScreen)
355  {
356  SwitchFullScreen(GuiData, !!pConInfo->FullScreen);
357  }
358 
359  /*
360  * The settings are saved in the registry by console.dll itself, if needed.
361  */
362  // if (SaveSettings)
363  // {
364  // GuiConsoleWriteUserSettings(GuiInfo);
365  // }
366 
368  }
370  {
372  DPRINT1("GuiApplyUserSettings - Caught an exception, Status = 0x%08lx\n", Status);
373  }
374  _SEH2_END;
375 
376 Quit:
377  /* Finally, close the section and return */
378  if (hSection)
379  {
381  NtClose(hSection);
382  }
383 
385  return;
386 }
PCONSOLE_PROCESS_DATA NTAPI ConSrvGetConsoleLeaderProcess(IN PCONSRV_CONSOLE Console)
Definition: console.c:867
NTSTATUS NTAPI NtUnmapViewOfSection(IN HANDLE ProcessHandle, IN PVOID BaseAddress)
Definition: section.c:3780
#define TRUE
Definition: types.h:120
POINT WindowPosition
Definition: settings.h:34
LONG NTSTATUS
Definition: precomp.h:26
#define TermResizeTerminal(Console)
Definition: term.h:28
#define PCONSRV_CONSOLE
Definition: conio.h:27
_SEH2_TRY
Definition: create.c:4250
#define DUPLICATE_SAME_ACCESS
NTSTATUS NTAPI NtMapViewOfSection(IN HANDLE SectionHandle, IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, IN ULONG_PTR ZeroBits, IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, IN ULONG AllocationType, IN ULONG Protect)
Definition: section.c:3552
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
HANDLE ProcessHandle
Definition: csrsrv.h:46
VOID ConSrvApplyUserSettings(IN PCONSOLE Console, IN PCONSOLE_STATE_INFO ConsoleInfo)
Definition: settings.c:34
smooth NULL
Definition: ftsmooth.c:416
#define NtCurrentProcess()
Definition: nt_native.h:1657
VOID SwitchFullScreen(PGUI_CONSOLE_DATA GuiData, BOOL FullScreen)
Definition: fullscreen.c:49
#define _SEH2_YIELD(STMT_)
Definition: pseh2_64.h:8
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
ULONG HistoryBufferSize
Definition: settings.h:50
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
PCSR_PROCESS Process
Definition: consrv.h:43
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
Definition: obhandle.c:3399
WCHAR FaceName[LF_FACESIZE]
Definition: settings.h:39
BOOL InitFonts(PGUI_CONSOLE_DATA GuiData, LPWSTR FaceName, ULONG FontFamily, COORD FontSize, ULONG FontWeight)
Definition: conwnd.c:510
Status
Definition: gdiplustypes.h:24
ULONG_PTR SIZE_T
Definition: typedefs.h:78
VOID RefreshTTFontCache(VOID)
Definition: font.c:515
#define STATUS_INVALID_VIEW_SIZE
Definition: ntstatus.h:254
_SEH2_END
Definition: create.c:4424
VOID GuiConsoleMoveWindow(PGUI_CONSOLE_DATA GuiData)
Definition: guiterm.c:61
ULONG NumberOfHistoryBuffers
Definition: settings.h:51
BOOLEAN NTAPI ConDrvValidateConsoleUnsafe(IN PCONSOLE Console, IN CONSOLE_STATE ExpectedState, IN BOOLEAN LockConsole)
Definition: console.c:120
PCONSOLE_STATE_INFO ConInfo
Definition: console.c:23
CConsole Console
#define DPRINT1
Definition: precomp.h:8
GUI_CONSOLE_INFO GuiInfo
Definition: conwnd.h:96
NTSTATUS NTAPI NtDuplicateObject(IN HANDLE SourceProcessHandle, IN HANDLE SourceHandle, IN HANDLE TargetProcessHandle OPTIONAL, OUT PHANDLE TargetHandle OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG HandleAttributes, IN ULONG Options)
Definition: obhandle.c:3407
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T _Inout_opt_ PLARGE_INTEGER _Inout_ PSIZE_T ViewSize
Definition: mmfuncs.h:404
PCONSRV_CONSOLE Console
Definition: conwnd.h:90
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:12
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
return STATUS_SUCCESS
Definition: btrfs.c:2745
_In_ const BITMAPINFO _In_ UINT _In_opt_ HANDLE hSection
Definition: wingdi.h:3217
#define PAGE_READWRITE
Definition: nt_native.h:1304

Referenced by ConWndProc(), and GuiConsoleWndProc().

◆ GuiConsoleGetDefaultSettings()

VOID GuiConsoleGetDefaultSettings ( IN OUT PGUI_CONSOLE_INFO  TermInfo)

Definition at line 38 of file guisettings.c.

39 {
40  /* Do nothing */
41 }

Referenced by GuiInitFrontEnd(), and GuiLoadFrontEnd().

◆ GuiConsoleReadUserSettings()

BOOL GuiConsoleReadUserSettings ( IN OUT PGUI_CONSOLE_INFO  TermInfo)

Definition at line 24 of file guisettings.c.

25 {
26  /* Do nothing */
27  return TRUE;
28 }
#define TRUE
Definition: types.h:120

Referenced by GuiConsoleGetDefaultSettings(), GuiInitFrontEnd(), and GuiLoadFrontEnd().

◆ GuiConsoleShowConsoleProperties()

VOID GuiConsoleShowConsoleProperties ( PGUI_CONSOLE_DATA  GuiData,
BOOL  Defaults 
)

pSharedInfo->InputBufferSize = 0;

GuiInfo->WindowPosition = GuiData->GuiInfo.WindowPosition;

WaitForSingleObject(Thread, INFINITE);

Definition at line 44 of file guisettings.c.

46 {
48  PCONSRV_CONSOLE Console = GuiData->Console;
49  PCONSOLE_PROCESS_DATA ProcessData;
50  HANDLE hSection = NULL, hClientSection = NULL;
51  PVOID ThreadParameter = NULL; // Is either hClientSection or the console window handle,
52  // depending on whether we display the default settings or
53  // the settings of a particular console.
54 
55  DPRINT("GuiConsoleShowConsoleProperties entered\n");
56 
58 
59  /* Get the console leader process, our client */
61 
62  /*
63  * Be sure we effectively have a properties dialog routine (that launches
64  * the console control panel applet). It resides in kernel32.dll (client).
65  */
66  if (ProcessData->PropRoutine == NULL) goto Quit;
67 
68  /*
69  * Create a memory section to be shared with the console control panel applet
70  * in the case we are displaying the settings of a particular console.
71  * In that case the ThreadParameter is the hClientSection handle.
72  * In the case we display the default console parameters, we don't need to
73  * create a memory section. We just need to open the applet, and in this case
74  * the ThreadParameter is the parent window handle of the applet's window,
75  * that is, the console window.
76  */
77  if (!Defaults)
78  {
79  PCONSOLE_SCREEN_BUFFER ActiveBuffer = GuiData->ActiveBuffer;
80  LARGE_INTEGER SectionSize;
81  SIZE_T ViewSize = 0;
82  PCONSOLE_STATE_INFO pSharedInfo = NULL;
83 
84  /*
85  * Create a memory section to share with the applet, and map it.
86  */
87  SectionSize.QuadPart = sizeof(CONSOLE_STATE_INFO); // Standard size
88  SectionSize.QuadPart += Console->OriginalTitle.Length; // Add the length in bytes of the console title string
89 
92  NULL,
93  &SectionSize,
95  SEC_COMMIT,
96  NULL);
97  if (!NT_SUCCESS(Status))
98  {
99  DPRINT1("Error: Impossible to create a shared section, Status = 0x%08lx\n", Status);
100  goto Quit;
101  }
102 
105  (PVOID*)&pSharedInfo,
106  0,
107  0,
108  NULL,
109  &ViewSize,
110  ViewUnmap,
111  0,
113  if (!NT_SUCCESS(Status))
114  {
115  DPRINT1("Error: Impossible to map the shared section, Status = 0x%08lx\n", Status);
116  goto Quit;
117  }
118 
119 
120  /*
121  * Setup the shared console properties structure.
122  */
123 
124  /* Store the real size of the structure */
125  pSharedInfo->cbSize = SectionSize.QuadPart;
126 
127  /*
128  * When we setup the settings of a particular console, the parent window
129  * of the applet's window is the console window, and it is given via the
130  * hWnd member of the shared console info structure.
131  */
132  pSharedInfo->hWnd = GuiData->hWindow;
133 
134  /* Console information */
135  pSharedInfo->HistoryBufferSize = Console->HistoryBufferSize;
136  pSharedInfo->NumberOfHistoryBuffers = Console->NumberOfHistoryBuffers;
137  pSharedInfo->HistoryNoDup = Console->HistoryNoDup;
138  pSharedInfo->QuickEdit = Console->QuickEdit;
139  pSharedInfo->InsertMode = Console->InsertMode;
141  pSharedInfo->ScreenBufferSize = ActiveBuffer->ScreenBufferSize;
142  pSharedInfo->WindowSize = ActiveBuffer->ViewSize;
143  pSharedInfo->CursorSize = ActiveBuffer->CursorInfo.dwSize;
144  if (GetType(ActiveBuffer) == TEXTMODE_BUFFER)
145  {
147 
148  pSharedInfo->ScreenAttributes = Buffer->ScreenDefaultAttrib;
149  pSharedInfo->PopupAttributes = Buffer->PopupDefaultAttrib;
150  }
151  else // if (GetType(ActiveBuffer) == GRAPHICS_BUFFER)
152  {
153  // PGRAPHICS_SCREEN_BUFFER Buffer = (PGRAPHICS_SCREEN_BUFFER)ActiveBuffer;
154 
155  // FIXME: Gather defaults from the registry ?
157  pSharedInfo->PopupAttributes = DEFAULT_POPUP_ATTRIB ;
158  }
159 
160  /* We display the output code page only */
161  pSharedInfo->CodePage = Console->OutputCodePage;
162 
163  /* GUI Information */
164  StringCchCopyNW(pSharedInfo->FaceName, ARRAYSIZE(pSharedInfo->FaceName),
165  GuiData->GuiInfo.FaceName, ARRAYSIZE(GuiData->GuiInfo.FaceName));
166  pSharedInfo->FontFamily = GuiData->GuiInfo.FontFamily;
167  pSharedInfo->FontSize = GuiData->GuiInfo.FontSize;
168  pSharedInfo->FontWeight = GuiData->GuiInfo.FontWeight;
169  pSharedInfo->FullScreen = GuiData->GuiInfo.FullScreen;
170  pSharedInfo->AutoPosition = GuiData->GuiInfo.AutoPosition;
171  pSharedInfo->WindowPosition = GuiData->GuiInfo.WindowOrigin;
172 
173  /* Palette */
174  RtlCopyMemory(pSharedInfo->ColorTable,
175  Console->Colors, sizeof(Console->Colors));
176 
177  /* Copy the original title of the console and null-terminate it */
178  RtlCopyMemory(pSharedInfo->ConsoleTitle,
179  Console->OriginalTitle.Buffer,
180  Console->OriginalTitle.Length);
181 
182  pSharedInfo->ConsoleTitle[Console->OriginalTitle.Length / sizeof(WCHAR)] = UNICODE_NULL;
183 
184 
185  /* Unmap the view */
186  NtUnmapViewOfSection(NtCurrentProcess(), pSharedInfo);
187 
188  /* Duplicate the section handle for the client */
190  hSection,
191  ProcessData->Process->ProcessHandle,
192  &hClientSection,
193  0, 0, DUPLICATE_SAME_ACCESS);
194  if (!NT_SUCCESS(Status))
195  {
196  DPRINT1("Error: Impossible to duplicate section handle for client, Status = 0x%08lx\n", Status);
197  goto Quit;
198  }
199 
200  /* For the settings of a particular console, use the shared client section handle as the thread parameter */
201  ThreadParameter = (PVOID)hClientSection;
202  }
203  else
204  {
205  /* For the default settings, use the console window handle as the thread parameter */
206  ThreadParameter = (PVOID)GuiData->hWindow;
207  }
208 
209  /* Start the console control panel applet */
210  _SEH2_TRY
211  {
212  HANDLE Thread = NULL;
213 
214  _SEH2_TRY
215  {
216  Thread = CreateRemoteThread(ProcessData->Process->ProcessHandle, NULL, 0,
217  ProcessData->PropRoutine,
218  ThreadParameter, 0, NULL);
219  if (NULL == Thread)
220  {
221  DPRINT1("Failed thread creation (Error: 0x%x)\n", GetLastError());
222  }
223  else
224  {
225  DPRINT("ProcessData->PropRoutine remote thread creation succeeded, ProcessId = %x, Process = 0x%p\n",
226  ProcessData->Process->ClientId.UniqueProcess, ProcessData->Process);
227  }
228  }
230  {
232  }
233  _SEH2_END;
234  }
236  {
238  DPRINT1("GuiConsoleShowConsoleProperties - Caught an exception, Status = 0x%08lx\n", Status);
239  }
240  _SEH2_END;
241 
242 Quit:
243  /* We have finished, close the section handle if any */
244  if (hSection) NtClose(hSection);
245 
247  return;
248 }
PCONSOLE_PROCESS_DATA NTAPI ConSrvGetConsoleLeaderProcess(IN PCONSRV_CONSOLE Console)
Definition: console.c:867
#define DEFAULT_SCREEN_ATTRIB
Definition: settings.c:29
STRSAFEAPI StringCchCopyNW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc, size_t cchToCopy)
Definition: strsafe.h:236
NTSTATUS NTAPI NtUnmapViewOfSection(IN HANDLE ProcessHandle, IN PVOID BaseAddress)
Definition: section.c:3780
#define TRUE
Definition: types.h:120
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
#define CloseHandle
Definition: compat.h:398
USHORT ScreenAttributes
Definition: settings.h:47
NTSTATUS NTAPI NtCreateSection(OUT PHANDLE SectionHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN PLARGE_INTEGER MaximumSize OPTIONAL, IN ULONG SectionPageProtection OPTIONAL, IN ULONG AllocationAttributes, IN HANDLE FileHandle OPTIONAL)
Definition: section.c:3371
POINT WindowPosition
Definition: settings.h:34
struct _CONSOLE_STATE_INFO CONSOLE_STATE_INFO
LONG NTSTATUS
Definition: precomp.h:26
#define ARRAYSIZE(array)
Definition: filtermapper.c:47
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
#define TEXTMODE_BUFFER
Definition: pccons.c:21
#define PCONSRV_CONSOLE
Definition: conio.h:27
HANDLE UniqueProcess
Definition: compat.h:474
_SEH2_TRY
Definition: create.c:4250
#define SECTION_ALL_ACCESS
Definition: nt_native.h:1293
#define DUPLICATE_SAME_ACCESS
#define SEC_COMMIT
Definition: mmtypes.h:99
#define UNICODE_NULL
COORD ScreenBufferSize
Definition: conio.h:87
COLORREF ColorTable[16]
Definition: settings.h:53
NTSTATUS NTAPI NtMapViewOfSection(IN HANDLE SectionHandle, IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, IN ULONG_PTR ZeroBits, IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, IN ULONG AllocationType, IN ULONG Protect)
Definition: section.c:3552
PCONSOLE_SCREEN_BUFFER ActiveBuffer
Definition: conwnd.h:91
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
HANDLE ProcessHandle
Definition: csrsrv.h:46
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
Definition: bufpool.h:45
CLIENT_ID ClientId
Definition: csrsrv.h:38
void * PVOID
Definition: retypes.h:9
#define NtCurrentProcess()
Definition: nt_native.h:1657
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
ULONG HistoryBufferSize
Definition: settings.h:50
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
PCSR_PROCESS Process
Definition: consrv.h:43
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
Definition: obhandle.c:3399
INT GetType(BOOL bLocal, LPOSVERSIONINFOEX osvi, LPSERVER_INFO_102 pBuf102)
Definition: gettype.c:129
WCHAR FaceName[LF_FACESIZE]
Definition: settings.h:39
LPTHREAD_START_ROUTINE PropRoutine
Definition: consrv.h:53
Status
Definition: gdiplustypes.h:24
ULONG_PTR SIZE_T
Definition: typedefs.h:78
#define DEFAULT_POPUP_ATTRIB
Definition: settings.c:30
_SEH2_END
Definition: create.c:4424
ULONG NumberOfHistoryBuffers
Definition: settings.h:51
BOOLEAN NTAPI ConDrvValidateConsoleUnsafe(IN PCONSOLE Console, IN CONSOLE_STATE ExpectedState, IN BOOLEAN LockConsole)
Definition: console.c:120
_SEH2_FINALLY
Definition: create.c:4395
WCHAR FaceName[LF_FACESIZE]
Definition: guisettings.h:18
WCHAR ConsoleTitle[ANYSIZE_ARRAY]
Definition: settings.h:58
CConsole Console
#define DPRINT1
Definition: precomp.h:8
GUI_CONSOLE_INFO GuiInfo
Definition: conwnd.h:96
NTSTATUS NTAPI NtDuplicateObject(IN HANDLE SourceProcessHandle, IN HANDLE SourceHandle, IN HANDLE TargetProcessHandle OPTIONAL, OUT PHANDLE TargetHandle OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG HandleAttributes, IN ULONG Options)
Definition: obhandle.c:3407
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T _Inout_opt_ PLARGE_INTEGER _Inout_ PSIZE_T ViewSize
Definition: mmfuncs.h:404
COORD ScreenBufferSize
Definition: settings.h:32
PCONSRV_CONSOLE Console
Definition: conwnd.h:90
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6
USHORT PopupAttributes
Definition: settings.h:48
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:12
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
CONSOLE_CURSOR_INFO CursorInfo
Definition: conio.h:102
struct _TEXTMODE_SCREEN_BUFFER * PTEXTMODE_SCREEN_BUFFER
_In_ const BITMAPINFO _In_ UINT _In_opt_ HANDLE hSection
Definition: wingdi.h:3217
LONGLONG QuadPart
Definition: typedefs.h:112
#define PAGE_READWRITE
Definition: nt_native.h:1304
HANDLE WINAPI CreateRemoteThread(IN HANDLE hProcess, IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
Definition: thread.c:133

◆ GuiConsoleWriteUserSettings()

BOOL GuiConsoleWriteUserSettings ( IN OUT PGUI_CONSOLE_INFO  TermInfo)

Definition at line 31 of file guisettings.c.

32 {
33  /* Do nothing */
34  return TRUE;
35 }
#define TRUE
Definition: types.h:120

Referenced by GuiApplyUserSettings(), and GuiConsoleGetDefaultSettings().