- Temporary make the property dialog working again (but it's not the ultimate solution).
- in conio.h : members reorganization only.

svn path=/branches/ros-csrss/; revision=58177
This commit is contained in:
Hermès Bélusca-Maïto 2013-01-15 00:02:07 +00:00
parent 9967600abf
commit d3af9fbaf2
4 changed files with 73 additions and 65 deletions

View file

@ -44,18 +44,20 @@ typedef struct _CONSOLE_SCREEN_BUFFER
typedef struct _CONSOLE typedef struct _CONSOLE
{ {
Object_t Header; /* Object header */ Object_t Header; /* Object header */
LONG ReferenceCount; LONG ReferenceCount; /* Is incremented each time a handle to a screen-buffer or the input buffer of this console gets referenced, or the console gets locked */
CRITICAL_SECTION Lock; CRITICAL_SECTION Lock;
struct _CONSOLE *Prev, *Next; /* Next and Prev consoles in console wheel */ struct _CONSOLE *Prev, *Next; /* Next and Prev consoles in console wheel */
struct _CONSOLE_VTBL *Vtbl; /* Using CUI or GUI consoles */ struct _CONSOLE_VTBL *Vtbl; /* Using CUI or GUI consoles */
CLIENT_ID ConsoleLeaderCID; /* Contains the Console Leader Process CID */ CLIENT_ID ConsoleLeaderCID; /* Contains the Console Leader Process CID for this console. TODO: Is it possible to compute it via the contents of the ProcessList list ?? */
LIST_ENTRY ProcessList; LIST_ENTRY ProcessList;
/**************************** Input buffer and data ***************************/
LIST_ENTRY InputEvents; /* List head for input event queue */ LIST_ENTRY InputEvents; /* List head for input event queue */
HANDLE ActiveEvent; /* Event set when an input event is added in its queue */ HANDLE ActiveEvent; /* Event set when an input event is added in its queue */
LIST_ENTRY ReadWaitQueue; /* List head for the queue of read wait blocks */ LIST_ENTRY ReadWaitQueue; /* List head for the queue of read wait blocks */
WORD Mode; /* Console Input Buffer mode flags */
PWCHAR LineBuffer; /* current line being input, in line buffered mode */ PWCHAR LineBuffer; /* current line being input, in line buffered mode */
WORD LineMaxSize; /* maximum size of line in characters (including CR+LF) */ WORD LineMaxSize; /* maximum size of line in characters (including CR+LF) */
@ -66,29 +68,33 @@ typedef struct _CONSOLE
BOOLEAN LineInsertToggle; /* replace character over cursor instead of inserting */ BOOLEAN LineInsertToggle; /* replace character over cursor instead of inserting */
ULONG LineWakeupMask; /* bitmap of which control characters will end line input */ ULONG LineWakeupMask; /* bitmap of which control characters will end line input */
UINT CodePage;
UINT OutputCodePage;
CONSOLE_SELECTION_INFO Selection;
/**************************** Aliases and Histories ***************************/
struct _ALIAS_HEADER *Aliases; struct _ALIAS_HEADER *Aliases;
LIST_ENTRY HistoryBuffers; LIST_ENTRY HistoryBuffers;
UINT HistoryBufferSize; /* size for newly created history buffers */ UINT HistoryBufferSize; /* size for newly created history buffers */
UINT NumberOfHistoryBuffers; /* maximum number of history buffers allowed */ UINT NumberOfHistoryBuffers; /* maximum number of history buffers allowed */
BOOLEAN HistoryNoDup; /* remove old duplicate history entries */ BOOLEAN HistoryNoDup; /* remove old duplicate history entries */
/******************************* Screen buffers *******************************/
LIST_ENTRY BufferList; /* List of all screen buffers for this console */ LIST_ENTRY BufferList; /* List of all screen buffers for this console */
PCONSOLE_SCREEN_BUFFER ActiveBuffer; /* Pointer to currently active screen buffer */ PCONSOLE_SCREEN_BUFFER ActiveBuffer; /* Pointer to currently active screen buffer */
BYTE PauseFlags; BYTE PauseFlags;
HANDLE UnpauseEvent; HANDLE UnpauseEvent;
LIST_ENTRY WriteWaitQueue; /* List head for the queue of write wait blocks */ LIST_ENTRY WriteWaitQueue; /* List head for the queue of write wait blocks */
WORD Mode; /* Console mode flags */
UNICODE_STRING Title; /* Title of console */
DWORD HardwareState; /* _GDI_MANAGED, _DIRECT */ DWORD HardwareState; /* _GDI_MANAGED, _DIRECT */
/****************************** GUI-related data ******************************/
UNICODE_STRING Title; /* Title of console */
HWND hWindow; HWND hWindow;
COORD Size; COORD Size;
PVOID PrivateData; PVOID PrivateData;
UINT CodePage;
UINT OutputCodePage;
CONSOLE_SELECTION_INFO Selection;
} CONSOLE, *PCONSOLE; } CONSOLE, *PCONSOLE;
/**************************************************************\ /**************************************************************\

View file

@ -62,8 +62,8 @@ typedef struct _CONSOLE_IO_HANDLE
} CONSOLE_IO_HANDLE, *PCONSOLE_IO_HANDLE; } CONSOLE_IO_HANDLE, *PCONSOLE_IO_HANDLE;
#define ConsoleGetPerProcessData(pcsrprocess) \ #define ConsoleGetPerProcessData(Process) \
((PCONSOLE_PROCESS_DATA)((pcsrprocess)->ServerData[CONSRV_SERVERDLL_INDEX])) ((PCONSOLE_PROCESS_DATA)((Process)->ServerData[CONSRV_SERVERDLL_INDEX]))
typedef struct _CONSOLE_PROCESS_DATA typedef struct _CONSOLE_PROCESS_DATA
{ {
@ -78,6 +78,7 @@ typedef struct _CONSOLE_PROCESS_DATA
RTL_CRITICAL_SECTION HandleTableLock; RTL_CRITICAL_SECTION HandleTableLock;
ULONG HandleTableSize; ULONG HandleTableSize;
PCONSOLE_IO_HANDLE HandleTable; // Length-varying table PCONSOLE_IO_HANDLE HandleTable; // Length-varying table
LPTHREAD_START_ROUTINE CtrlDispatcher; LPTHREAD_START_ROUTINE CtrlDispatcher;
} CONSOLE_PROCESS_DATA, *PCONSOLE_PROCESS_DATA; } CONSOLE_PROCESS_DATA, *PCONSOLE_PROCESS_DATA;

View file

@ -1590,6 +1590,7 @@ GuiConsoleShowConsoleProperties(HWND hWnd, BOOL Defaults, PGUI_CONSOLE_DATA GuiD
} }
CPLFunc(hWnd, CPL_DBLCLK, (LPARAM)&SharedInfo, Defaults); CPLFunc(hWnd, CPL_DBLCLK, (LPARAM)&SharedInfo, Defaults);
CPLFunc(hWnd, CPL_EXIT , 0, 0);
} }
static LRESULT static LRESULT
GuiConsoleHandleSysMenuCommand(HWND hWnd, WPARAM wParam, LPARAM lParam) GuiConsoleHandleSysMenuCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)

View file

@ -116,47 +116,47 @@ PCSR_API_ROUTINE ConsoleServerApiDispatchTable[ConsolepMaxApiNumber] =
BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber] = BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber] =
{ {
FALSE, // SrvOpenConsole, TRUE /* FALSE */, // SrvOpenConsole,
FALSE, // SrvGetConsoleInput, TRUE /* FALSE */, // SrvGetConsoleInput,
FALSE, // SrvWriteConsoleInput, TRUE /* FALSE */, // SrvWriteConsoleInput,
FALSE, // SrvReadConsoleOutput, TRUE /* FALSE */, // SrvReadConsoleOutput,
FALSE, // SrvWriteConsoleOutput, TRUE /* FALSE */, // SrvWriteConsoleOutput,
FALSE, // SrvReadConsoleOutputString, TRUE /* FALSE */, // SrvReadConsoleOutputString,
FALSE, // SrvWriteConsoleOutputString, TRUE /* FALSE */, // SrvWriteConsoleOutputString,
FALSE, // SrvFillConsoleOutput, TRUE /* FALSE */, // SrvFillConsoleOutput,
FALSE, // SrvGetConsoleMode, TRUE /* FALSE */, // SrvGetConsoleMode,
// FALSE, // SrvGetConsoleNumberOfFonts, // FALSE, // SrvGetConsoleNumberOfFonts,
FALSE, // SrvGetConsoleNumberOfInputEvents, TRUE /* FALSE */, // SrvGetConsoleNumberOfInputEvents,
FALSE, // SrvGetConsoleScreenBufferInfo, TRUE /* FALSE */, // SrvGetConsoleScreenBufferInfo,
FALSE, // SrvGetConsoleCursorInfo, TRUE /* FALSE */, // SrvGetConsoleCursorInfo,
// FALSE, // SrvGetConsoleMouseInfo, // FALSE, // SrvGetConsoleMouseInfo,
// FALSE, // SrvGetConsoleFontInfo, // FALSE, // SrvGetConsoleFontInfo,
// FALSE, // SrvGetConsoleFontSize, // FALSE, // SrvGetConsoleFontSize,
// FALSE, // SrvGetConsoleCurrentFont, // FALSE, // SrvGetConsoleCurrentFont,
FALSE, // SrvSetConsoleMode, TRUE /* FALSE */, // SrvSetConsoleMode,
FALSE, // SrvSetConsoleActiveScreenBuffer, TRUE /* FALSE */, // SrvSetConsoleActiveScreenBuffer,
FALSE, // SrvFlushConsoleInputBuffer, TRUE /* FALSE */, // SrvFlushConsoleInputBuffer,
// FALSE, // SrvGetLargestConsoleWindowSize, // FALSE, // SrvGetLargestConsoleWindowSize,
FALSE, // SrvSetConsoleScreenBufferSize, TRUE /* FALSE */, // SrvSetConsoleScreenBufferSize,
FALSE, // SrvSetConsoleCursorPosition, TRUE /* FALSE */, // SrvSetConsoleCursorPosition,
FALSE, // SrvSetConsoleCursorInfo, TRUE /* FALSE */, // SrvSetConsoleCursorInfo,
// FALSE, // SrvSetConsoleWindowInfo, // FALSE, // SrvSetConsoleWindowInfo,
FALSE, // SrvScrollConsoleScreenBuffer, TRUE /* FALSE */, // SrvScrollConsoleScreenBuffer,
FALSE, // SrvSetConsoleTextAttribute, TRUE /* FALSE */, // SrvSetConsoleTextAttribute,
// FALSE, // SrvSetConsoleFont, // FALSE, // SrvSetConsoleFont,
FALSE, // SrvSetConsoleIcon, TRUE /* FALSE */, // SrvSetConsoleIcon,
FALSE, // SrvReadConsole, TRUE /* FALSE */, // SrvReadConsole,
FALSE, // SrvWriteConsole, TRUE /* FALSE */, // SrvWriteConsole,
FALSE, // SrvDuplicateHandle, TRUE /* FALSE */, // SrvDuplicateHandle,
// FALSE, // SrvGetHandleInformation, // FALSE, // SrvGetHandleInformation,
// FALSE, // SrvSetHandleInformation, // FALSE, // SrvSetHandleInformation,
FALSE, // SrvCloseHandle, TRUE /* FALSE */, // SrvCloseHandle,
FALSE, // SrvVerifyConsoleIoHandle, TRUE /* FALSE */, // SrvVerifyConsoleIoHandle,
FALSE, // SrvAllocConsole, TRUE /* FALSE */, // SrvAllocConsole,
FALSE, // SrvFreeConsole, TRUE /* FALSE */, // SrvFreeConsole,
FALSE, // SrvGetConsoleTitle, TRUE /* FALSE */, // SrvGetConsoleTitle,
FALSE, // SrvSetConsoleTitle, TRUE /* FALSE */, // SrvSetConsoleTitle,
FALSE, // SrvCreateConsoleScreenBuffer, TRUE /* FALSE */, // SrvCreateConsoleScreenBuffer,
// FALSE, // SrvInvalidateBitMapRect, // FALSE, // SrvInvalidateBitMapRect,
// FALSE, // SrvVDMConsoleOperation, // FALSE, // SrvVDMConsoleOperation,
// FALSE, // SrvSetConsoleCursor, // FALSE, // SrvSetConsoleCursor,
@ -165,28 +165,28 @@ BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber] =
// FALSE, // SrvSetConsolePalette, // FALSE, // SrvSetConsolePalette,
// FALSE, // SrvSetConsoleDisplayMode, // FALSE, // SrvSetConsoleDisplayMode,
// FALSE, // SrvRegisterConsoleVDM, // FALSE, // SrvRegisterConsoleVDM,
FALSE, // SrvGetConsoleHardwareState, TRUE /* FALSE */, // SrvGetConsoleHardwareState,
FALSE, // SrvSetConsoleHardwareState, TRUE /* FALSE */, // SrvSetConsoleHardwareState,
// TRUE, // SrvGetConsoleDisplayMode, // TRUE, // SrvGetConsoleDisplayMode,
FALSE, // SrvAddConsoleAlias, TRUE /* FALSE */, // SrvAddConsoleAlias,
FALSE, // SrvGetConsoleAlias, TRUE /* FALSE */, // SrvGetConsoleAlias,
FALSE, // SrvGetConsoleAliasesLength, TRUE /* FALSE */, // SrvGetConsoleAliasesLength,
FALSE, // SrvGetConsoleAliasExesLength, TRUE /* FALSE */, // SrvGetConsoleAliasExesLength,
FALSE, // SrvGetConsoleAliases, TRUE /* FALSE */, // SrvGetConsoleAliases,
FALSE, // SrvGetConsoleAliasExes, TRUE /* FALSE */, // SrvGetConsoleAliasExes,
FALSE, // SrvExpungeConsoleCommandHistory, TRUE /* FALSE */, // SrvExpungeConsoleCommandHistory,
FALSE, // SrvSetConsoleNumberOfCommands, TRUE /* FALSE */, // SrvSetConsoleNumberOfCommands,
FALSE, // SrvGetConsoleCommandHistoryLength, TRUE /* FALSE */, // SrvGetConsoleCommandHistoryLength,
FALSE, // SrvGetConsoleCommandHistory, TRUE /* FALSE */, // SrvGetConsoleCommandHistory,
// FALSE, // SrvSetConsoleCommandHistoryMode, // FALSE, // SrvSetConsoleCommandHistoryMode,
FALSE, // SrvGetConsoleCP, TRUE /* FALSE */, // SrvGetConsoleCP,
FALSE, // SrvSetConsoleCP, TRUE /* FALSE */, // SrvSetConsoleCP,
// FALSE, // SrvSetConsoleKeyShortcuts, // FALSE, // SrvSetConsoleKeyShortcuts,
// FALSE, // SrvSetConsoleMenuClose, // FALSE, // SrvSetConsoleMenuClose,
// FALSE, // SrvConsoleNotifyLastClose, // FALSE, // SrvConsoleNotifyLastClose,
FALSE, // SrvGenerateConsoleCtrlEvent, TRUE /* FALSE */, // SrvGenerateConsoleCtrlEvent,
// FALSE, // SrvGetConsoleKeyboardLayoutName, // FALSE, // SrvGetConsoleKeyboardLayoutName,
FALSE, // SrvGetConsoleWindow, TRUE /* FALSE */, // SrvGetConsoleWindow,
// FALSE, // SrvGetConsoleCharType, // FALSE, // SrvGetConsoleCharType,
// FALSE, // SrvSetConsoleLocalEUDC, // FALSE, // SrvSetConsoleLocalEUDC,
// FALSE, // SrvSetConsoleCursorMode, // FALSE, // SrvSetConsoleCursorMode,
@ -198,11 +198,11 @@ BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber] =
// FALSE, // SrvRegisterConsoleIME, // FALSE, // SrvRegisterConsoleIME,
// FALSE, // SrvUnregisterConsoleIME, // FALSE, // SrvUnregisterConsoleIME,
// FALSE, // SrvGetConsoleLangId, // FALSE, // SrvGetConsoleLangId,
FALSE, // SrvAttachConsole, TRUE /* FALSE */, // SrvAttachConsole,
FALSE, // SrvGetConsoleSelectionInfo, TRUE /* FALSE */, // SrvGetConsoleSelectionInfo,
FALSE, // SrvGetConsoleProcessList, TRUE /* FALSE */, // SrvGetConsoleProcessList,
FALSE, // SrvGetConsoleHistory, TRUE /* FALSE */, // SrvGetConsoleHistory,
FALSE, // SrvSetConsoleHistory TRUE /* FALSE */, // SrvSetConsoleHistory
// FALSE // FALSE
}; };