mirror of
https://github.com/reactos/reactos.git
synced 2025-01-01 03:54:02 +00:00
[CONSRV]: Stubplement the remaining APIs needed for Windows kernel32.
svn path=/trunk/; revision=59907
This commit is contained in:
parent
a30fba55c1
commit
ef6d5c266e
9 changed files with 412 additions and 175 deletions
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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",
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -641,4 +641,10 @@ CSR_API(SrvSetConsoleHistory)
|
|||
return Status;
|
||||
}
|
||||
|
||||
CSR_API(SrvSetConsoleCommandHistoryMode)
|
||||
{
|
||||
DPRINT1("%s not yet implemented\n", __FUNCTION__);
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
69
reactos/win32ss/user/winsrv/consrv/subsysreg.c
Normal file
69
reactos/win32ss/user/winsrv/consrv/subsysreg.c
Normal 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 */
|
Loading…
Reference in a new issue