[CONSRV]: Stubplement the remaining APIs needed for Windows kernel32.

svn path=/trunk/; revision=59907
This commit is contained in:
Hermès Bélusca-Maïto 2013-08-30 17:53:45 +00:00
parent a30fba55c1
commit ef6d5c266e
9 changed files with 412 additions and 175 deletions

View file

@ -16,7 +16,6 @@
#define CONSRV_FIRST_API_NUMBER 512
// Windows Server 2003 table from http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_2k3
// plus a little bit of Windows 7.
typedef enum _CONSRV_API_NUMBER
{
ConsolepOpenConsole = CONSRV_FIRST_API_NUMBER,
@ -28,14 +27,14 @@ typedef enum _CONSRV_API_NUMBER
ConsolepWriteConsoleOutputString,
ConsolepFillConsoleOutput,
ConsolepGetMode,
// ConsolepGetNumberOfFonts,
ConsolepGetNumberOfFonts,
ConsolepGetNumberOfInputEvents,
ConsolepGetScreenBufferInfo,
ConsolepGetCursorInfo,
// ConsolepGetMouseInfo,
// ConsolepGetFontInfo,
// ConsolepGetFontSize,
// ConsolepGetCurrentFont,
ConsolepGetMouseInfo,
ConsolepGetFontInfo,
ConsolepGetFontSize,
ConsolepGetCurrentFont,
ConsolepSetMode,
ConsolepSetActiveScreenBuffer,
ConsolepFlushInputBuffer,
@ -46,28 +45,28 @@ typedef enum _CONSRV_API_NUMBER
ConsolepSetWindowInfo,
ConsolepScrollScreenBuffer,
ConsolepSetTextAttribute,
// ConsolepSetFont,
ConsolepSetFont,
ConsolepSetIcon,
ConsolepReadConsole,
ConsolepWriteConsole,
ConsolepDuplicateHandle,
// ConsolepGetHandleInformation,
// ConsolepSetHandleInformation,
ConsolepGetHandleInformation,
ConsolepSetHandleInformation,
ConsolepCloseHandle,
ConsolepVerifyIoHandle,
ConsolepAlloc,
ConsolepFree,
ConsolepAlloc, // Not present in Win7
ConsolepFree, // Not present in Win7
ConsolepGetTitle,
ConsolepSetTitle,
ConsolepCreateScreenBuffer,
ConsolepInvalidateBitMapRect,
// ConsolepVDMOperation,
ConsolepVDMOperation,
ConsolepSetCursor,
ConsolepShowCursor,
ConsolepMenuControl,
ConsolepSetPalette,
ConsolepSetDisplayMode,
// ConsolepRegisterVDM,
ConsolepRegisterVDM,
ConsolepGetHardwareState,
ConsolepSetHardwareState,
ConsolepGetDisplayMode,
@ -81,31 +80,36 @@ typedef enum _CONSRV_API_NUMBER
ConsolepSetNumberOfCommands,
ConsolepGetCommandHistoryLength,
ConsolepGetCommandHistory,
// ConsolepSetCommandHistoryMode,
ConsolepSetCommandHistoryMode, // Not present in Vista+
ConsolepGetCP,
ConsolepSetCP,
// ConsolepSetKeyShortcuts,
ConsolepSetKeyShortcuts,
ConsolepSetMenuClose,
// ConsolepNotifyLastClose,
ConsolepNotifyLastClose,
ConsolepGenerateCtrlEvent,
// ConsolepGetKeyboardLayoutName,
ConsolepGetKeyboardLayoutName,
ConsolepGetConsoleWindow,
// ConsolepCharType,
// ConsolepSetLocalEUDC,
// ConsolepSetCursorMode,
// ConsolepGetCursorMode,
// ConsolepRegisterOS2,
// ConsolepSetOS2OemFormat,
// ConsolepGetNlsMode,
// ConsolepSetNlsMode,
// ConsolepRegisterConsoleIME,
// ConsolepUnregisterConsoleIME,
// ConsolepGetLangId,
ConsolepAttach,
ConsolepCharType,
ConsolepSetLocalEUDC,
ConsolepSetCursorMode,
ConsolepGetCursorMode,
ConsolepRegisterOS2,
ConsolepSetOS2OemFormat,
ConsolepGetNlsMode,
ConsolepSetNlsMode,
ConsolepRegisterConsoleIME, // Not present in Win7
ConsolepUnregisterConsoleIME, // Not present in Win7
// ConsolepQueryConsoleIME, // Added only in Vista and Win2k8, not present in Win7
ConsolepGetLangId,
ConsolepAttach, // Not present in Win7
ConsolepGetSelectionInfo,
ConsolepGetProcessList,
ConsolepGetHistory,
ConsolepSetHistory,
ConsolepGetHistory, // Added in Vista+
ConsolepSetHistory, // Added in Vista+
// ConsolepSetCurrentFont, // Added in Vista+
// ConsolepSetScreenBufferInfo, // Added in Vista+
// ConsolepClientConnect, // Added in Win7
ConsolepMaxApiNumber
} CONSRV_API_NUMBER, *PCONSRV_API_NUMBER;

View file

@ -14,6 +14,7 @@ list(APPEND CONSRV_SOURCE
consrv/init.c
consrv/lineinput.c
consrv/settings.c
consrv/subsysreg.c
consrv/condrv/coninput.c
consrv/condrv/conoutput.c
consrv/condrv/console.c

View file

@ -39,8 +39,9 @@ CSR_API(SrvSetConsoleTextAttribute);
CSR_API(SrvCreateConsoleScreenBuffer);
CSR_API(SrvGetConsoleScreenBufferInfo);
CSR_API(SrvSetConsoleActiveScreenBuffer);
CSR_API(SrvScrollConsoleScreenBuffer);
CSR_API(SrvSetConsoleScreenBufferSize);
CSR_API(SrvScrollConsoleScreenBuffer);
CSR_API(SrvSetConsoleWindowInfo);
/* console.c */
CSR_API(SrvAllocConsole);
@ -50,6 +51,24 @@ CSR_API(SrvGetConsoleMode);
CSR_API(SrvSetConsoleMode);
CSR_API(SrvGetConsoleTitle);
CSR_API(SrvSetConsoleTitle);
CSR_API(SrvGetConsoleCP);
CSR_API(SrvSetConsoleCP);
CSR_API(SrvGetConsoleProcessList);
CSR_API(SrvGenerateConsoleCtrlEvent);
CSR_API(SrvConsoleNotifyLastClose);
CSR_API(SrvGetConsoleMouseInfo);
CSR_API(SrvSetConsoleKeyShortcuts);
CSR_API(SrvGetConsoleKeyboardLayoutName);
CSR_API(SrvGetConsoleCharType);
CSR_API(SrvSetConsoleLocalEUDC);
CSR_API(SrvSetConsoleCursorMode);
CSR_API(SrvGetConsoleCursorMode);
CSR_API(SrvGetConsoleNlsMode);
CSR_API(SrvSetConsoleNlsMode);
CSR_API(SrvGetConsoleLangId);
/* frontendctl.c */
CSR_API(SrvGetConsoleHardwareState);
CSR_API(SrvSetConsoleHardwareState);
CSR_API(SrvGetConsoleDisplayMode);
@ -59,20 +78,23 @@ CSR_API(SrvShowConsoleCursor);
CSR_API(SrvSetConsoleCursor);
CSR_API(SrvConsoleMenuControl);
CSR_API(SrvSetConsoleMenuClose);
CSR_API(SrvSetConsoleWindowInfo);
CSR_API(SrvGetConsoleWindow);
CSR_API(SrvSetConsoleIcon);
CSR_API(SrvGetConsoleCP);
CSR_API(SrvSetConsoleCP);
CSR_API(SrvGetConsoleProcessList);
CSR_API(SrvGenerateConsoleCtrlEvent);
CSR_API(SrvGetConsoleSelectionInfo);
CSR_API(SrvGetConsoleNumberOfFonts);
CSR_API(SrvGetConsoleFontInfo);
CSR_API(SrvGetConsoleFontSize);
CSR_API(SrvGetConsoleCurrentFont);
CSR_API(SrvSetConsoleFont);
/* handle.c */
CSR_API(SrvOpenConsole);
CSR_API(SrvDuplicateHandle);
CSR_API(SrvGetHandleInformation);
CSR_API(SrvSetHandleInformation);
CSR_API(SrvCloseHandle);
CSR_API(SrvVerifyConsoleIoHandle);
CSR_API(SrvDuplicateHandle);
/* lineinput.c */
CSR_API(SrvGetConsoleCommandHistory);
@ -81,5 +103,14 @@ CSR_API(SrvExpungeConsoleCommandHistory);
CSR_API(SrvSetConsoleNumberOfCommands);
CSR_API(SrvGetConsoleHistory);
CSR_API(SrvSetConsoleHistory);
CSR_API(SrvSetConsoleCommandHistoryMode);
/* subsysreg.c */
CSR_API(SrvRegisterConsoleVDM);
CSR_API(SrvVDMConsoleOperation);
CSR_API(SrvRegisterConsoleOS2);
CSR_API(SrvSetConsoleOS2OemFormat);
CSR_API(SrvRegisterConsoleIME);
CSR_API(SrvUnregisterConsoleIME);
/* EOF */

View file

@ -647,4 +647,72 @@ CSR_API(SrvGenerateConsoleCtrlEvent)
return Status;
}
CSR_API(SrvConsoleNotifyLastClose)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvGetConsoleMouseInfo)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvSetConsoleKeyShortcuts)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvGetConsoleKeyboardLayoutName)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvGetConsoleCharType)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvSetConsoleLocalEUDC)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvSetConsoleCursorMode)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvGetConsoleCursorMode)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvGetConsoleNlsMode)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvSetConsoleNlsMode)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvGetConsoleLangId)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
/* EOF */

View file

@ -328,4 +328,36 @@ CSR_API(SrvGetConsoleSelectionInfo)
return Status;
}
CSR_API(SrvGetConsoleNumberOfFonts)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvGetConsoleFontInfo)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvGetConsoleFontSize)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvGetConsoleCurrentFont)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvSetConsoleFont)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
/* EOF */

View file

@ -744,62 +744,6 @@ CSR_API(SrvOpenConsole)
return Status;
}
CSR_API(SrvCloseHandle)
{
NTSTATUS Status;
PCONSOLE_CLOSEHANDLE CloseHandleRequest = &((PCONSOLE_API_MESSAGE)ApiMessage)->Data.CloseHandleRequest;
PCONSOLE_PROCESS_DATA ProcessData = ConsoleGetPerProcessData(CsrGetClientThread()->Process);
PCONSOLE Console;
Status = ConSrvGetConsole(ProcessData, &Console, TRUE);
if (!NT_SUCCESS(Status))
{
DPRINT1("Can't get console\n");
return Status;
}
Status = ConSrvRemoveObject(ProcessData, CloseHandleRequest->ConsoleHandle);
ConSrvReleaseConsole(Console, TRUE);
return Status;
}
CSR_API(SrvVerifyConsoleIoHandle)
{
NTSTATUS Status;
PCONSOLE_VERIFYHANDLE VerifyHandleRequest = &((PCONSOLE_API_MESSAGE)ApiMessage)->Data.VerifyHandleRequest;
PCONSOLE_PROCESS_DATA ProcessData = ConsoleGetPerProcessData(CsrGetClientThread()->Process);
PCONSOLE Console;
HANDLE ConsoleHandle = VerifyHandleRequest->ConsoleHandle;
ULONG Index = HandleToULong(ConsoleHandle) >> 2;
Status = ConSrvGetConsole(ProcessData, &Console, TRUE);
if (!NT_SUCCESS(Status))
{
DPRINT1("Can't get console\n");
return Status;
}
RtlEnterCriticalSection(&ProcessData->HandleTableLock);
// ASSERT( (ProcessData->HandleTable == NULL && ProcessData->HandleTableSize == 0) ||
// (ProcessData->HandleTable != NULL && ProcessData->HandleTableSize != 0) );
if (!IsConsoleHandle(ConsoleHandle) ||
Index >= ProcessData->HandleTableSize ||
ProcessData->HandleTable[Index].Object == NULL)
{
DPRINT("SrvVerifyConsoleIoHandle failed\n");
Status = STATUS_INVALID_HANDLE;
}
RtlLeaveCriticalSection(&ProcessData->HandleTableLock);
ConSrvReleaseConsole(Console, TRUE);
return Status;
}
CSR_API(SrvDuplicateHandle)
{
NTSTATUS Status;
@ -871,4 +815,72 @@ Quit:
return Status;
}
CSR_API(SrvGetHandleInformation)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvSetHandleInformation)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvCloseHandle)
{
NTSTATUS Status;
PCONSOLE_CLOSEHANDLE CloseHandleRequest = &((PCONSOLE_API_MESSAGE)ApiMessage)->Data.CloseHandleRequest;
PCONSOLE_PROCESS_DATA ProcessData = ConsoleGetPerProcessData(CsrGetClientThread()->Process);
PCONSOLE Console;
Status = ConSrvGetConsole(ProcessData, &Console, TRUE);
if (!NT_SUCCESS(Status))
{
DPRINT1("Can't get console\n");
return Status;
}
Status = ConSrvRemoveObject(ProcessData, CloseHandleRequest->ConsoleHandle);
ConSrvReleaseConsole(Console, TRUE);
return Status;
}
CSR_API(SrvVerifyConsoleIoHandle)
{
NTSTATUS Status;
PCONSOLE_VERIFYHANDLE VerifyHandleRequest = &((PCONSOLE_API_MESSAGE)ApiMessage)->Data.VerifyHandleRequest;
PCONSOLE_PROCESS_DATA ProcessData = ConsoleGetPerProcessData(CsrGetClientThread()->Process);
PCONSOLE Console;
HANDLE ConsoleHandle = VerifyHandleRequest->ConsoleHandle;
ULONG Index = HandleToULong(ConsoleHandle) >> 2;
Status = ConSrvGetConsole(ProcessData, &Console, TRUE);
if (!NT_SUCCESS(Status))
{
DPRINT1("Can't get console\n");
return Status;
}
RtlEnterCriticalSection(&ProcessData->HandleTableLock);
// ASSERT( (ProcessData->HandleTable == NULL && ProcessData->HandleTableSize == 0) ||
// (ProcessData->HandleTable != NULL && ProcessData->HandleTableSize != 0) );
if (!IsConsoleHandle(ConsoleHandle) ||
Index >= ProcessData->HandleTableSize ||
ProcessData->HandleTable[Index].Object == NULL)
{
DPRINT("SrvVerifyConsoleIoHandle failed\n");
Status = STATUS_INVALID_HANDLE;
}
RtlLeaveCriticalSection(&ProcessData->HandleTableLock);
ConSrvReleaseConsole(Console, TRUE);
return Status;
}
/* EOF */

View file

@ -26,7 +26,6 @@ HINSTANCE ConSrvDllInstance = NULL;
HANDLE ConSrvHeap = NULL; // Our own heap.
// Windows Server 2003 table from http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_2k3
// plus a little bit of Windows 7.
PCSR_API_ROUTINE ConsoleServerApiDispatchTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER] =
{
SrvOpenConsole,
@ -38,14 +37,14 @@ PCSR_API_ROUTINE ConsoleServerApiDispatchTable[ConsolepMaxApiNumber - CONSRV_FIR
SrvWriteConsoleOutputString,
SrvFillConsoleOutput,
SrvGetConsoleMode,
// SrvGetConsoleNumberOfFonts,
SrvGetConsoleNumberOfFonts,
SrvGetConsoleNumberOfInputEvents,
SrvGetConsoleScreenBufferInfo,
SrvGetConsoleCursorInfo,
// SrvGetConsoleMouseInfo,
// SrvGetConsoleFontInfo,
// SrvGetConsoleFontSize,
// SrvGetConsoleCurrentFont,
SrvGetConsoleMouseInfo,
SrvGetConsoleFontInfo,
SrvGetConsoleFontSize,
SrvGetConsoleCurrentFont,
SrvSetConsoleMode,
SrvSetConsoleActiveScreenBuffer,
SrvFlushConsoleInputBuffer,
@ -56,28 +55,28 @@ PCSR_API_ROUTINE ConsoleServerApiDispatchTable[ConsolepMaxApiNumber - CONSRV_FIR
SrvSetConsoleWindowInfo,
SrvScrollConsoleScreenBuffer,
SrvSetConsoleTextAttribute,
// SrvSetConsoleFont,
SrvSetConsoleFont,
SrvSetConsoleIcon,
SrvReadConsole,
SrvWriteConsole,
SrvDuplicateHandle,
// SrvGetHandleInformation,
// SrvSetHandleInformation,
SrvGetHandleInformation,
SrvSetHandleInformation,
SrvCloseHandle,
SrvVerifyConsoleIoHandle,
SrvAllocConsole,
SrvFreeConsole,
SrvAllocConsole, // Not present in Win7
SrvFreeConsole, // Not present in Win7
SrvGetConsoleTitle,
SrvSetConsoleTitle,
SrvCreateConsoleScreenBuffer,
SrvInvalidateBitMapRect,
// SrvVDMConsoleOperation,
SrvVDMConsoleOperation,
SrvSetConsoleCursor,
SrvShowConsoleCursor,
SrvConsoleMenuControl,
SrvSetConsolePalette,
SrvSetConsoleDisplayMode,
// SrvRegisterConsoleVDM,
SrvRegisterConsoleVDM,
SrvGetConsoleHardwareState,
SrvSetConsoleHardwareState,
SrvGetConsoleDisplayMode,
@ -91,31 +90,36 @@ PCSR_API_ROUTINE ConsoleServerApiDispatchTable[ConsolepMaxApiNumber - CONSRV_FIR
SrvSetConsoleNumberOfCommands,
SrvGetConsoleCommandHistoryLength,
SrvGetConsoleCommandHistory,
// SrvSetConsoleCommandHistoryMode,
SrvSetConsoleCommandHistoryMode, // Not present in Vista+
SrvGetConsoleCP,
SrvSetConsoleCP,
// SrvSetConsoleKeyShortcuts,
SrvSetConsoleKeyShortcuts,
SrvSetConsoleMenuClose,
// SrvConsoleNotifyLastClose,
SrvConsoleNotifyLastClose,
SrvGenerateConsoleCtrlEvent,
// SrvGetConsoleKeyboardLayoutName,
SrvGetConsoleKeyboardLayoutName,
SrvGetConsoleWindow,
// SrvGetConsoleCharType,
// SrvSetConsoleLocalEUDC,
// SrvSetConsoleCursorMode,
// SrvGetConsoleCursorMode,
// SrvRegisterConsoleOS2,
// SrvSetConsoleOS2OemFormat,
// SrvGetConsoleNlsMode,
// SrvSetConsoleNlsMode,
// SrvRegisterConsoleIME,
// SrvUnregisterConsoleIME,
// SrvGetConsoleLangId,
SrvAttachConsole,
SrvGetConsoleCharType,
SrvSetConsoleLocalEUDC,
SrvSetConsoleCursorMode,
SrvGetConsoleCursorMode,
SrvRegisterConsoleOS2,
SrvSetConsoleOS2OemFormat,
SrvGetConsoleNlsMode,
SrvSetConsoleNlsMode,
SrvRegisterConsoleIME, // Not present in Win7
SrvUnregisterConsoleIME, // Not present in Win7
// SrvQueryConsoleIME, // Added only in Vista and Win2k8, not present in Win7
SrvGetConsoleLangId,
SrvAttachConsole, // Not present in Win7
SrvGetConsoleSelectionInfo,
SrvGetConsoleProcessList,
SrvGetConsoleHistory,
SrvSetConsoleHistory,
SrvGetConsoleHistory, // Added in Vista+
SrvSetConsoleHistory, // Added in Vista+
// SrvSetConsoleCurrentFont, // Added in Vista+
// SrvSetScreenBufferInfo, // Added in Vista+
// SrvConsoleClientConnect, // Added in Win7
};
BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER] =
@ -129,14 +133,14 @@ BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber - CONSRV_FIRST_API
FALSE, // SrvWriteConsoleOutputString,
FALSE, // SrvFillConsoleOutput,
FALSE, // SrvGetConsoleMode,
// FALSE, // SrvGetConsoleNumberOfFonts,
FALSE, // SrvGetConsoleNumberOfFonts,
FALSE, // SrvGetConsoleNumberOfInputEvents,
FALSE, // SrvGetConsoleScreenBufferInfo,
FALSE, // SrvGetConsoleCursorInfo,
// FALSE, // SrvGetConsoleMouseInfo,
// FALSE, // SrvGetConsoleFontInfo,
// FALSE, // SrvGetConsoleFontSize,
// FALSE, // SrvGetConsoleCurrentFont,
FALSE, // SrvGetConsoleMouseInfo,
FALSE, // SrvGetConsoleFontInfo,
FALSE, // SrvGetConsoleFontSize,
FALSE, // SrvGetConsoleCurrentFont,
FALSE, // SrvSetConsoleMode,
FALSE, // SrvSetConsoleActiveScreenBuffer,
FALSE, // SrvFlushConsoleInputBuffer,
@ -147,13 +151,13 @@ BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber - CONSRV_FIRST_API
FALSE, // SrvSetConsoleWindowInfo,
FALSE, // SrvScrollConsoleScreenBuffer,
FALSE, // SrvSetConsoleTextAttribute,
// FALSE, // SrvSetConsoleFont,
FALSE, // SrvSetConsoleFont,
FALSE, // SrvSetConsoleIcon,
FALSE, // SrvReadConsole,
FALSE, // SrvWriteConsole,
FALSE, // SrvDuplicateHandle,
// FALSE, // SrvGetHandleInformation,
// FALSE, // SrvSetHandleInformation,
FALSE, // SrvGetHandleInformation,
FALSE, // SrvSetHandleInformation,
FALSE, // SrvCloseHandle,
FALSE, // SrvVerifyConsoleIoHandle,
FALSE, // SrvAllocConsole,
@ -162,13 +166,13 @@ BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber - CONSRV_FIRST_API
FALSE, // SrvSetConsoleTitle,
FALSE, // SrvCreateConsoleScreenBuffer,
FALSE, // SrvInvalidateBitMapRect,
// FALSE, // SrvVDMConsoleOperation,
FALSE, // SrvVDMConsoleOperation,
FALSE, // SrvSetConsoleCursor,
FALSE, // SrvShowConsoleCursor,
FALSE, // SrvConsoleMenuControl,
FALSE, // SrvSetConsolePalette,
FALSE, // SrvSetConsoleDisplayMode,
// FALSE, // SrvRegisterConsoleVDM,
FALSE, // SrvRegisterConsoleVDM,
FALSE, // SrvGetConsoleHardwareState,
FALSE, // SrvSetConsoleHardwareState,
TRUE, // SrvGetConsoleDisplayMode,
@ -182,31 +186,36 @@ BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber - CONSRV_FIRST_API
FALSE, // SrvSetConsoleNumberOfCommands,
FALSE, // SrvGetConsoleCommandHistoryLength,
FALSE, // SrvGetConsoleCommandHistory,
// FALSE, // SrvSetConsoleCommandHistoryMode,
FALSE, // SrvSetConsoleCommandHistoryMode,
FALSE, // SrvGetConsoleCP,
FALSE, // SrvSetConsoleCP,
// FALSE, // SrvSetConsoleKeyShortcuts,
FALSE, // SrvSetConsoleKeyShortcuts,
FALSE, // SrvSetConsoleMenuClose,
// FALSE, // SrvConsoleNotifyLastClose,
FALSE, // SrvConsoleNotifyLastClose,
FALSE, // SrvGenerateConsoleCtrlEvent,
// FALSE, // SrvGetConsoleKeyboardLayoutName,
FALSE, // SrvGetConsoleKeyboardLayoutName,
FALSE, // SrvGetConsoleWindow,
// FALSE, // SrvGetConsoleCharType,
// FALSE, // SrvSetConsoleLocalEUDC,
// FALSE, // SrvSetConsoleCursorMode,
// FALSE, // SrvGetConsoleCursorMode,
// FALSE, // SrvRegisterConsoleOS2,
// FALSE, // SrvSetConsoleOS2OemFormat,
// FALSE, // SrvGetConsoleNlsMode,
// FALSE, // SrvSetConsoleNlsMode,
// FALSE, // SrvRegisterConsoleIME,
// FALSE, // SrvUnregisterConsoleIME,
// FALSE, // SrvGetConsoleLangId,
FALSE, // SrvGetConsoleCharType,
FALSE, // SrvSetConsoleLocalEUDC,
FALSE, // SrvSetConsoleCursorMode,
FALSE, // SrvGetConsoleCursorMode,
FALSE, // SrvRegisterConsoleOS2,
FALSE, // SrvSetConsoleOS2OemFormat,
FALSE, // SrvGetConsoleNlsMode,
FALSE, // SrvSetConsoleNlsMode,
FALSE, // SrvRegisterConsoleIME,
FALSE, // SrvUnregisterConsoleIME,
// FALSE, // SrvQueryConsoleIME,
FALSE, // SrvGetConsoleLangId,
FALSE, // SrvAttachConsole,
FALSE, // SrvGetConsoleSelectionInfo,
FALSE, // SrvGetConsoleProcessList,
FALSE, // SrvGetConsoleHistory,
FALSE, // SrvSetConsoleHistory
// FALSE, // SrvSetConsoleCurrentFont,
// FALSE, // SrvSetScreenBufferInfo,
// FALSE, // SrvConsoleClientConnect,
};
PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER] =
@ -220,14 +229,14 @@ PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER]
"WriteConsoleOutputString",
"FillConsoleOutput",
"GetConsoleMode",
// "GetConsoleNumberOfFonts",
"GetConsoleNumberOfFonts",
"GetConsoleNumberOfInputEvents",
"GetConsoleScreenBufferInfo",
"GetConsoleCursorInfo",
// "GetConsoleMouseInfo",
// "GetConsoleFontInfo",
// "GetConsoleFontSize",
// "GetConsoleCurrentFont",
"GetConsoleMouseInfo",
"GetConsoleFontInfo",
"GetConsoleFontSize",
"GetConsoleCurrentFont",
"SetConsoleMode",
"SetConsoleActiveScreenBuffer",
"FlushConsoleInputBuffer",
@ -238,13 +247,13 @@ PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER]
"SetConsoleWindowInfo",
"ScrollConsoleScreenBuffer",
"SetConsoleTextAttribute",
// "SetConsoleFont",
"SetConsoleFont",
"SetConsoleIcon",
"ReadConsole",
"WriteConsole",
"DuplicateHandle",
// "GetHandleInformation",
// "SetHandleInformation",
"GetHandleInformation",
"SetHandleInformation",
"CloseHandle",
"VerifyConsoleIoHandle",
"AllocConsole",
@ -253,13 +262,13 @@ PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER]
"SetConsoleTitle",
"CreateConsoleScreenBuffer",
"InvalidateBitMapRect",
// "VDMConsoleOperation",
"VDMConsoleOperation",
"SetConsoleCursor",
"ShowConsoleCursor",
"ConsoleMenuControl",
"SetConsolePalette",
"SetConsoleDisplayMode",
// "RegisterConsoleVDM",
"RegisterConsoleVDM",
"GetConsoleHardwareState",
"SetConsoleHardwareState",
"GetConsoleDisplayMode",
@ -273,31 +282,36 @@ PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER]
"SetConsoleNumberOfCommands",
"GetConsoleCommandHistoryLength",
"GetConsoleCommandHistory",
// "SetConsoleCommandHistoryMode",
"SetConsoleCommandHistoryMode",
"GetConsoleCP",
"SetConsoleCP",
// "SetConsoleKeyShortcuts",
"SetConsoleKeyShortcuts",
"SetConsoleMenuClose",
// "ConsoleNotifyLastClose",
"ConsoleNotifyLastClose",
"GenerateConsoleCtrlEvent",
// "GetConsoleKeyboardLayoutName",
"GetConsoleKeyboardLayoutName",
"GetConsoleWindow",
// "GetConsoleCharType",
// "SetConsoleLocalEUDC",
// "SetConsoleCursorMode",
// "GetConsoleCursorMode",
// "RegisterConsoleOS2",
// "SetConsoleOS2OemFormat",
// "GetConsoleNlsMode",
// "SetConsoleNlsMode",
// "RegisterConsoleIME",
// "UnregisterConsoleIME",
// "GetConsoleLangId",
"GetConsoleCharType",
"SetConsoleLocalEUDC",
"SetConsoleCursorMode",
"GetConsoleCursorMode",
"RegisterConsoleOS2",
"SetConsoleOS2OemFormat",
"GetConsoleNlsMode",
"SetConsoleNlsMode",
"RegisterConsoleIME",
"UnregisterConsoleIME",
// "QueryConsoleIME",
"GetConsoleLangId",
"AttachConsole",
"GetConsoleSelectionInfo",
"GetConsoleProcessList",
"GetConsoleHistory",
"SetConsoleHistory",
// "SetConsoleCurrentFont",
// "SetScreenBufferInfo",
// "ConsoleClientConnect",
};

View file

@ -641,4 +641,10 @@ CSR_API(SrvSetConsoleHistory)
return Status;
}
CSR_API(SrvSetConsoleCommandHistoryMode)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
/* EOF */

View file

@ -0,0 +1,69 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Console Server DLL
* FILE: win32ss/user/winsrv/consrv/subsysreg.c
* PURPOSE: Registration APIs for VDM, OS2 and IME subsystems
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
/* INCLUDES *******************************************************************/
#include "consrv.h"
#define NDEBUG
#include <debug.h>
/* PUBLIC SERVER APIS *********************************************************/
/*
* VDM Subsystem
*/
CSR_API(SrvRegisterConsoleVDM)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvVDMConsoleOperation)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
/*
* OS/2 Subsystem
*/
CSR_API(SrvRegisterConsoleOS2)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvSetConsoleOS2OemFormat)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
/*
* IME Subsystem
*/
CSR_API(SrvRegisterConsoleIME)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
CSR_API(SrvUnregisterConsoleIME)
{
DPRINT1("%s not yet implemented\n", __FUNCTION__);
return STATUS_NOT_IMPLEMENTED;
}
/* EOF */