mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:12:58 +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
|
#define CONSRV_FIRST_API_NUMBER 512
|
||||||
|
|
||||||
// Windows Server 2003 table from http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_2k3
|
// 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
|
typedef enum _CONSRV_API_NUMBER
|
||||||
{
|
{
|
||||||
ConsolepOpenConsole = CONSRV_FIRST_API_NUMBER,
|
ConsolepOpenConsole = CONSRV_FIRST_API_NUMBER,
|
||||||
|
@ -28,14 +27,14 @@ typedef enum _CONSRV_API_NUMBER
|
||||||
ConsolepWriteConsoleOutputString,
|
ConsolepWriteConsoleOutputString,
|
||||||
ConsolepFillConsoleOutput,
|
ConsolepFillConsoleOutput,
|
||||||
ConsolepGetMode,
|
ConsolepGetMode,
|
||||||
// ConsolepGetNumberOfFonts,
|
ConsolepGetNumberOfFonts,
|
||||||
ConsolepGetNumberOfInputEvents,
|
ConsolepGetNumberOfInputEvents,
|
||||||
ConsolepGetScreenBufferInfo,
|
ConsolepGetScreenBufferInfo,
|
||||||
ConsolepGetCursorInfo,
|
ConsolepGetCursorInfo,
|
||||||
// ConsolepGetMouseInfo,
|
ConsolepGetMouseInfo,
|
||||||
// ConsolepGetFontInfo,
|
ConsolepGetFontInfo,
|
||||||
// ConsolepGetFontSize,
|
ConsolepGetFontSize,
|
||||||
// ConsolepGetCurrentFont,
|
ConsolepGetCurrentFont,
|
||||||
ConsolepSetMode,
|
ConsolepSetMode,
|
||||||
ConsolepSetActiveScreenBuffer,
|
ConsolepSetActiveScreenBuffer,
|
||||||
ConsolepFlushInputBuffer,
|
ConsolepFlushInputBuffer,
|
||||||
|
@ -46,28 +45,28 @@ typedef enum _CONSRV_API_NUMBER
|
||||||
ConsolepSetWindowInfo,
|
ConsolepSetWindowInfo,
|
||||||
ConsolepScrollScreenBuffer,
|
ConsolepScrollScreenBuffer,
|
||||||
ConsolepSetTextAttribute,
|
ConsolepSetTextAttribute,
|
||||||
// ConsolepSetFont,
|
ConsolepSetFont,
|
||||||
ConsolepSetIcon,
|
ConsolepSetIcon,
|
||||||
ConsolepReadConsole,
|
ConsolepReadConsole,
|
||||||
ConsolepWriteConsole,
|
ConsolepWriteConsole,
|
||||||
ConsolepDuplicateHandle,
|
ConsolepDuplicateHandle,
|
||||||
// ConsolepGetHandleInformation,
|
ConsolepGetHandleInformation,
|
||||||
// ConsolepSetHandleInformation,
|
ConsolepSetHandleInformation,
|
||||||
ConsolepCloseHandle,
|
ConsolepCloseHandle,
|
||||||
ConsolepVerifyIoHandle,
|
ConsolepVerifyIoHandle,
|
||||||
ConsolepAlloc,
|
ConsolepAlloc, // Not present in Win7
|
||||||
ConsolepFree,
|
ConsolepFree, // Not present in Win7
|
||||||
ConsolepGetTitle,
|
ConsolepGetTitle,
|
||||||
ConsolepSetTitle,
|
ConsolepSetTitle,
|
||||||
ConsolepCreateScreenBuffer,
|
ConsolepCreateScreenBuffer,
|
||||||
ConsolepInvalidateBitMapRect,
|
ConsolepInvalidateBitMapRect,
|
||||||
// ConsolepVDMOperation,
|
ConsolepVDMOperation,
|
||||||
ConsolepSetCursor,
|
ConsolepSetCursor,
|
||||||
ConsolepShowCursor,
|
ConsolepShowCursor,
|
||||||
ConsolepMenuControl,
|
ConsolepMenuControl,
|
||||||
ConsolepSetPalette,
|
ConsolepSetPalette,
|
||||||
ConsolepSetDisplayMode,
|
ConsolepSetDisplayMode,
|
||||||
// ConsolepRegisterVDM,
|
ConsolepRegisterVDM,
|
||||||
ConsolepGetHardwareState,
|
ConsolepGetHardwareState,
|
||||||
ConsolepSetHardwareState,
|
ConsolepSetHardwareState,
|
||||||
ConsolepGetDisplayMode,
|
ConsolepGetDisplayMode,
|
||||||
|
@ -81,31 +80,36 @@ typedef enum _CONSRV_API_NUMBER
|
||||||
ConsolepSetNumberOfCommands,
|
ConsolepSetNumberOfCommands,
|
||||||
ConsolepGetCommandHistoryLength,
|
ConsolepGetCommandHistoryLength,
|
||||||
ConsolepGetCommandHistory,
|
ConsolepGetCommandHistory,
|
||||||
// ConsolepSetCommandHistoryMode,
|
ConsolepSetCommandHistoryMode, // Not present in Vista+
|
||||||
ConsolepGetCP,
|
ConsolepGetCP,
|
||||||
ConsolepSetCP,
|
ConsolepSetCP,
|
||||||
// ConsolepSetKeyShortcuts,
|
ConsolepSetKeyShortcuts,
|
||||||
ConsolepSetMenuClose,
|
ConsolepSetMenuClose,
|
||||||
// ConsolepNotifyLastClose,
|
ConsolepNotifyLastClose,
|
||||||
ConsolepGenerateCtrlEvent,
|
ConsolepGenerateCtrlEvent,
|
||||||
// ConsolepGetKeyboardLayoutName,
|
ConsolepGetKeyboardLayoutName,
|
||||||
ConsolepGetConsoleWindow,
|
ConsolepGetConsoleWindow,
|
||||||
// ConsolepCharType,
|
ConsolepCharType,
|
||||||
// ConsolepSetLocalEUDC,
|
ConsolepSetLocalEUDC,
|
||||||
// ConsolepSetCursorMode,
|
ConsolepSetCursorMode,
|
||||||
// ConsolepGetCursorMode,
|
ConsolepGetCursorMode,
|
||||||
// ConsolepRegisterOS2,
|
ConsolepRegisterOS2,
|
||||||
// ConsolepSetOS2OemFormat,
|
ConsolepSetOS2OemFormat,
|
||||||
// ConsolepGetNlsMode,
|
ConsolepGetNlsMode,
|
||||||
// ConsolepSetNlsMode,
|
ConsolepSetNlsMode,
|
||||||
// ConsolepRegisterConsoleIME,
|
ConsolepRegisterConsoleIME, // Not present in Win7
|
||||||
// ConsolepUnregisterConsoleIME,
|
ConsolepUnregisterConsoleIME, // Not present in Win7
|
||||||
// ConsolepGetLangId,
|
// ConsolepQueryConsoleIME, // Added only in Vista and Win2k8, not present in Win7
|
||||||
ConsolepAttach,
|
ConsolepGetLangId,
|
||||||
|
ConsolepAttach, // Not present in Win7
|
||||||
ConsolepGetSelectionInfo,
|
ConsolepGetSelectionInfo,
|
||||||
ConsolepGetProcessList,
|
ConsolepGetProcessList,
|
||||||
ConsolepGetHistory,
|
|
||||||
ConsolepSetHistory,
|
ConsolepGetHistory, // Added in Vista+
|
||||||
|
ConsolepSetHistory, // Added in Vista+
|
||||||
|
// ConsolepSetCurrentFont, // Added in Vista+
|
||||||
|
// ConsolepSetScreenBufferInfo, // Added in Vista+
|
||||||
|
// ConsolepClientConnect, // Added in Win7
|
||||||
|
|
||||||
ConsolepMaxApiNumber
|
ConsolepMaxApiNumber
|
||||||
} CONSRV_API_NUMBER, *PCONSRV_API_NUMBER;
|
} CONSRV_API_NUMBER, *PCONSRV_API_NUMBER;
|
||||||
|
|
|
@ -14,6 +14,7 @@ list(APPEND CONSRV_SOURCE
|
||||||
consrv/init.c
|
consrv/init.c
|
||||||
consrv/lineinput.c
|
consrv/lineinput.c
|
||||||
consrv/settings.c
|
consrv/settings.c
|
||||||
|
consrv/subsysreg.c
|
||||||
consrv/condrv/coninput.c
|
consrv/condrv/coninput.c
|
||||||
consrv/condrv/conoutput.c
|
consrv/condrv/conoutput.c
|
||||||
consrv/condrv/console.c
|
consrv/condrv/console.c
|
||||||
|
|
|
@ -39,8 +39,9 @@ CSR_API(SrvSetConsoleTextAttribute);
|
||||||
CSR_API(SrvCreateConsoleScreenBuffer);
|
CSR_API(SrvCreateConsoleScreenBuffer);
|
||||||
CSR_API(SrvGetConsoleScreenBufferInfo);
|
CSR_API(SrvGetConsoleScreenBufferInfo);
|
||||||
CSR_API(SrvSetConsoleActiveScreenBuffer);
|
CSR_API(SrvSetConsoleActiveScreenBuffer);
|
||||||
CSR_API(SrvScrollConsoleScreenBuffer);
|
|
||||||
CSR_API(SrvSetConsoleScreenBufferSize);
|
CSR_API(SrvSetConsoleScreenBufferSize);
|
||||||
|
CSR_API(SrvScrollConsoleScreenBuffer);
|
||||||
|
CSR_API(SrvSetConsoleWindowInfo);
|
||||||
|
|
||||||
/* console.c */
|
/* console.c */
|
||||||
CSR_API(SrvAllocConsole);
|
CSR_API(SrvAllocConsole);
|
||||||
|
@ -50,6 +51,24 @@ CSR_API(SrvGetConsoleMode);
|
||||||
CSR_API(SrvSetConsoleMode);
|
CSR_API(SrvSetConsoleMode);
|
||||||
CSR_API(SrvGetConsoleTitle);
|
CSR_API(SrvGetConsoleTitle);
|
||||||
CSR_API(SrvSetConsoleTitle);
|
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(SrvGetConsoleHardwareState);
|
||||||
CSR_API(SrvSetConsoleHardwareState);
|
CSR_API(SrvSetConsoleHardwareState);
|
||||||
CSR_API(SrvGetConsoleDisplayMode);
|
CSR_API(SrvGetConsoleDisplayMode);
|
||||||
|
@ -59,20 +78,23 @@ CSR_API(SrvShowConsoleCursor);
|
||||||
CSR_API(SrvSetConsoleCursor);
|
CSR_API(SrvSetConsoleCursor);
|
||||||
CSR_API(SrvConsoleMenuControl);
|
CSR_API(SrvConsoleMenuControl);
|
||||||
CSR_API(SrvSetConsoleMenuClose);
|
CSR_API(SrvSetConsoleMenuClose);
|
||||||
CSR_API(SrvSetConsoleWindowInfo);
|
|
||||||
CSR_API(SrvGetConsoleWindow);
|
CSR_API(SrvGetConsoleWindow);
|
||||||
CSR_API(SrvSetConsoleIcon);
|
CSR_API(SrvSetConsoleIcon);
|
||||||
CSR_API(SrvGetConsoleCP);
|
|
||||||
CSR_API(SrvSetConsoleCP);
|
|
||||||
CSR_API(SrvGetConsoleProcessList);
|
|
||||||
CSR_API(SrvGenerateConsoleCtrlEvent);
|
|
||||||
CSR_API(SrvGetConsoleSelectionInfo);
|
CSR_API(SrvGetConsoleSelectionInfo);
|
||||||
|
|
||||||
|
CSR_API(SrvGetConsoleNumberOfFonts);
|
||||||
|
CSR_API(SrvGetConsoleFontInfo);
|
||||||
|
CSR_API(SrvGetConsoleFontSize);
|
||||||
|
CSR_API(SrvGetConsoleCurrentFont);
|
||||||
|
CSR_API(SrvSetConsoleFont);
|
||||||
|
|
||||||
/* handle.c */
|
/* handle.c */
|
||||||
CSR_API(SrvOpenConsole);
|
CSR_API(SrvOpenConsole);
|
||||||
|
CSR_API(SrvDuplicateHandle);
|
||||||
|
CSR_API(SrvGetHandleInformation);
|
||||||
|
CSR_API(SrvSetHandleInformation);
|
||||||
CSR_API(SrvCloseHandle);
|
CSR_API(SrvCloseHandle);
|
||||||
CSR_API(SrvVerifyConsoleIoHandle);
|
CSR_API(SrvVerifyConsoleIoHandle);
|
||||||
CSR_API(SrvDuplicateHandle);
|
|
||||||
|
|
||||||
/* lineinput.c */
|
/* lineinput.c */
|
||||||
CSR_API(SrvGetConsoleCommandHistory);
|
CSR_API(SrvGetConsoleCommandHistory);
|
||||||
|
@ -81,5 +103,14 @@ CSR_API(SrvExpungeConsoleCommandHistory);
|
||||||
CSR_API(SrvSetConsoleNumberOfCommands);
|
CSR_API(SrvSetConsoleNumberOfCommands);
|
||||||
CSR_API(SrvGetConsoleHistory);
|
CSR_API(SrvGetConsoleHistory);
|
||||||
CSR_API(SrvSetConsoleHistory);
|
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 */
|
/* EOF */
|
||||||
|
|
|
@ -647,4 +647,72 @@ CSR_API(SrvGenerateConsoleCtrlEvent)
|
||||||
return Status;
|
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 */
|
/* EOF */
|
||||||
|
|
|
@ -328,4 +328,36 @@ CSR_API(SrvGetConsoleSelectionInfo)
|
||||||
return Status;
|
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 */
|
/* EOF */
|
||||||
|
|
|
@ -744,62 +744,6 @@ CSR_API(SrvOpenConsole)
|
||||||
return Status;
|
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)
|
CSR_API(SrvDuplicateHandle)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
@ -871,4 +815,72 @@ Quit:
|
||||||
return Status;
|
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 */
|
/* EOF */
|
||||||
|
|
|
@ -26,7 +26,6 @@ HINSTANCE ConSrvDllInstance = NULL;
|
||||||
HANDLE ConSrvHeap = NULL; // Our own heap.
|
HANDLE ConSrvHeap = NULL; // Our own heap.
|
||||||
|
|
||||||
// Windows Server 2003 table from http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_2k3
|
// 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] =
|
PCSR_API_ROUTINE ConsoleServerApiDispatchTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER] =
|
||||||
{
|
{
|
||||||
SrvOpenConsole,
|
SrvOpenConsole,
|
||||||
|
@ -38,14 +37,14 @@ PCSR_API_ROUTINE ConsoleServerApiDispatchTable[ConsolepMaxApiNumber - CONSRV_FIR
|
||||||
SrvWriteConsoleOutputString,
|
SrvWriteConsoleOutputString,
|
||||||
SrvFillConsoleOutput,
|
SrvFillConsoleOutput,
|
||||||
SrvGetConsoleMode,
|
SrvGetConsoleMode,
|
||||||
// SrvGetConsoleNumberOfFonts,
|
SrvGetConsoleNumberOfFonts,
|
||||||
SrvGetConsoleNumberOfInputEvents,
|
SrvGetConsoleNumberOfInputEvents,
|
||||||
SrvGetConsoleScreenBufferInfo,
|
SrvGetConsoleScreenBufferInfo,
|
||||||
SrvGetConsoleCursorInfo,
|
SrvGetConsoleCursorInfo,
|
||||||
// SrvGetConsoleMouseInfo,
|
SrvGetConsoleMouseInfo,
|
||||||
// SrvGetConsoleFontInfo,
|
SrvGetConsoleFontInfo,
|
||||||
// SrvGetConsoleFontSize,
|
SrvGetConsoleFontSize,
|
||||||
// SrvGetConsoleCurrentFont,
|
SrvGetConsoleCurrentFont,
|
||||||
SrvSetConsoleMode,
|
SrvSetConsoleMode,
|
||||||
SrvSetConsoleActiveScreenBuffer,
|
SrvSetConsoleActiveScreenBuffer,
|
||||||
SrvFlushConsoleInputBuffer,
|
SrvFlushConsoleInputBuffer,
|
||||||
|
@ -56,28 +55,28 @@ PCSR_API_ROUTINE ConsoleServerApiDispatchTable[ConsolepMaxApiNumber - CONSRV_FIR
|
||||||
SrvSetConsoleWindowInfo,
|
SrvSetConsoleWindowInfo,
|
||||||
SrvScrollConsoleScreenBuffer,
|
SrvScrollConsoleScreenBuffer,
|
||||||
SrvSetConsoleTextAttribute,
|
SrvSetConsoleTextAttribute,
|
||||||
// SrvSetConsoleFont,
|
SrvSetConsoleFont,
|
||||||
SrvSetConsoleIcon,
|
SrvSetConsoleIcon,
|
||||||
SrvReadConsole,
|
SrvReadConsole,
|
||||||
SrvWriteConsole,
|
SrvWriteConsole,
|
||||||
SrvDuplicateHandle,
|
SrvDuplicateHandle,
|
||||||
// SrvGetHandleInformation,
|
SrvGetHandleInformation,
|
||||||
// SrvSetHandleInformation,
|
SrvSetHandleInformation,
|
||||||
SrvCloseHandle,
|
SrvCloseHandle,
|
||||||
SrvVerifyConsoleIoHandle,
|
SrvVerifyConsoleIoHandle,
|
||||||
SrvAllocConsole,
|
SrvAllocConsole, // Not present in Win7
|
||||||
SrvFreeConsole,
|
SrvFreeConsole, // Not present in Win7
|
||||||
SrvGetConsoleTitle,
|
SrvGetConsoleTitle,
|
||||||
SrvSetConsoleTitle,
|
SrvSetConsoleTitle,
|
||||||
SrvCreateConsoleScreenBuffer,
|
SrvCreateConsoleScreenBuffer,
|
||||||
SrvInvalidateBitMapRect,
|
SrvInvalidateBitMapRect,
|
||||||
// SrvVDMConsoleOperation,
|
SrvVDMConsoleOperation,
|
||||||
SrvSetConsoleCursor,
|
SrvSetConsoleCursor,
|
||||||
SrvShowConsoleCursor,
|
SrvShowConsoleCursor,
|
||||||
SrvConsoleMenuControl,
|
SrvConsoleMenuControl,
|
||||||
SrvSetConsolePalette,
|
SrvSetConsolePalette,
|
||||||
SrvSetConsoleDisplayMode,
|
SrvSetConsoleDisplayMode,
|
||||||
// SrvRegisterConsoleVDM,
|
SrvRegisterConsoleVDM,
|
||||||
SrvGetConsoleHardwareState,
|
SrvGetConsoleHardwareState,
|
||||||
SrvSetConsoleHardwareState,
|
SrvSetConsoleHardwareState,
|
||||||
SrvGetConsoleDisplayMode,
|
SrvGetConsoleDisplayMode,
|
||||||
|
@ -91,31 +90,36 @@ PCSR_API_ROUTINE ConsoleServerApiDispatchTable[ConsolepMaxApiNumber - CONSRV_FIR
|
||||||
SrvSetConsoleNumberOfCommands,
|
SrvSetConsoleNumberOfCommands,
|
||||||
SrvGetConsoleCommandHistoryLength,
|
SrvGetConsoleCommandHistoryLength,
|
||||||
SrvGetConsoleCommandHistory,
|
SrvGetConsoleCommandHistory,
|
||||||
// SrvSetConsoleCommandHistoryMode,
|
SrvSetConsoleCommandHistoryMode, // Not present in Vista+
|
||||||
SrvGetConsoleCP,
|
SrvGetConsoleCP,
|
||||||
SrvSetConsoleCP,
|
SrvSetConsoleCP,
|
||||||
// SrvSetConsoleKeyShortcuts,
|
SrvSetConsoleKeyShortcuts,
|
||||||
SrvSetConsoleMenuClose,
|
SrvSetConsoleMenuClose,
|
||||||
// SrvConsoleNotifyLastClose,
|
SrvConsoleNotifyLastClose,
|
||||||
SrvGenerateConsoleCtrlEvent,
|
SrvGenerateConsoleCtrlEvent,
|
||||||
// SrvGetConsoleKeyboardLayoutName,
|
SrvGetConsoleKeyboardLayoutName,
|
||||||
SrvGetConsoleWindow,
|
SrvGetConsoleWindow,
|
||||||
// SrvGetConsoleCharType,
|
SrvGetConsoleCharType,
|
||||||
// SrvSetConsoleLocalEUDC,
|
SrvSetConsoleLocalEUDC,
|
||||||
// SrvSetConsoleCursorMode,
|
SrvSetConsoleCursorMode,
|
||||||
// SrvGetConsoleCursorMode,
|
SrvGetConsoleCursorMode,
|
||||||
// SrvRegisterConsoleOS2,
|
SrvRegisterConsoleOS2,
|
||||||
// SrvSetConsoleOS2OemFormat,
|
SrvSetConsoleOS2OemFormat,
|
||||||
// SrvGetConsoleNlsMode,
|
SrvGetConsoleNlsMode,
|
||||||
// SrvSetConsoleNlsMode,
|
SrvSetConsoleNlsMode,
|
||||||
// SrvRegisterConsoleIME,
|
SrvRegisterConsoleIME, // Not present in Win7
|
||||||
// SrvUnregisterConsoleIME,
|
SrvUnregisterConsoleIME, // Not present in Win7
|
||||||
// SrvGetConsoleLangId,
|
// SrvQueryConsoleIME, // Added only in Vista and Win2k8, not present in Win7
|
||||||
SrvAttachConsole,
|
SrvGetConsoleLangId,
|
||||||
|
SrvAttachConsole, // Not present in Win7
|
||||||
SrvGetConsoleSelectionInfo,
|
SrvGetConsoleSelectionInfo,
|
||||||
SrvGetConsoleProcessList,
|
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] =
|
BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER] =
|
||||||
|
@ -129,14 +133,14 @@ BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber - CONSRV_FIRST_API
|
||||||
FALSE, // SrvWriteConsoleOutputString,
|
FALSE, // SrvWriteConsoleOutputString,
|
||||||
FALSE, // SrvFillConsoleOutput,
|
FALSE, // SrvFillConsoleOutput,
|
||||||
FALSE, // SrvGetConsoleMode,
|
FALSE, // SrvGetConsoleMode,
|
||||||
// FALSE, // SrvGetConsoleNumberOfFonts,
|
FALSE, // SrvGetConsoleNumberOfFonts,
|
||||||
FALSE, // SrvGetConsoleNumberOfInputEvents,
|
FALSE, // SrvGetConsoleNumberOfInputEvents,
|
||||||
FALSE, // SrvGetConsoleScreenBufferInfo,
|
FALSE, // SrvGetConsoleScreenBufferInfo,
|
||||||
FALSE, // SrvGetConsoleCursorInfo,
|
FALSE, // SrvGetConsoleCursorInfo,
|
||||||
// FALSE, // SrvGetConsoleMouseInfo,
|
FALSE, // SrvGetConsoleMouseInfo,
|
||||||
// FALSE, // SrvGetConsoleFontInfo,
|
FALSE, // SrvGetConsoleFontInfo,
|
||||||
// FALSE, // SrvGetConsoleFontSize,
|
FALSE, // SrvGetConsoleFontSize,
|
||||||
// FALSE, // SrvGetConsoleCurrentFont,
|
FALSE, // SrvGetConsoleCurrentFont,
|
||||||
FALSE, // SrvSetConsoleMode,
|
FALSE, // SrvSetConsoleMode,
|
||||||
FALSE, // SrvSetConsoleActiveScreenBuffer,
|
FALSE, // SrvSetConsoleActiveScreenBuffer,
|
||||||
FALSE, // SrvFlushConsoleInputBuffer,
|
FALSE, // SrvFlushConsoleInputBuffer,
|
||||||
|
@ -147,13 +151,13 @@ BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber - CONSRV_FIRST_API
|
||||||
FALSE, // SrvSetConsoleWindowInfo,
|
FALSE, // SrvSetConsoleWindowInfo,
|
||||||
FALSE, // SrvScrollConsoleScreenBuffer,
|
FALSE, // SrvScrollConsoleScreenBuffer,
|
||||||
FALSE, // SrvSetConsoleTextAttribute,
|
FALSE, // SrvSetConsoleTextAttribute,
|
||||||
// FALSE, // SrvSetConsoleFont,
|
FALSE, // SrvSetConsoleFont,
|
||||||
FALSE, // SrvSetConsoleIcon,
|
FALSE, // SrvSetConsoleIcon,
|
||||||
FALSE, // SrvReadConsole,
|
FALSE, // SrvReadConsole,
|
||||||
FALSE, // SrvWriteConsole,
|
FALSE, // SrvWriteConsole,
|
||||||
FALSE, // SrvDuplicateHandle,
|
FALSE, // SrvDuplicateHandle,
|
||||||
// FALSE, // SrvGetHandleInformation,
|
FALSE, // SrvGetHandleInformation,
|
||||||
// FALSE, // SrvSetHandleInformation,
|
FALSE, // SrvSetHandleInformation,
|
||||||
FALSE, // SrvCloseHandle,
|
FALSE, // SrvCloseHandle,
|
||||||
FALSE, // SrvVerifyConsoleIoHandle,
|
FALSE, // SrvVerifyConsoleIoHandle,
|
||||||
FALSE, // SrvAllocConsole,
|
FALSE, // SrvAllocConsole,
|
||||||
|
@ -162,13 +166,13 @@ BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber - CONSRV_FIRST_API
|
||||||
FALSE, // SrvSetConsoleTitle,
|
FALSE, // SrvSetConsoleTitle,
|
||||||
FALSE, // SrvCreateConsoleScreenBuffer,
|
FALSE, // SrvCreateConsoleScreenBuffer,
|
||||||
FALSE, // SrvInvalidateBitMapRect,
|
FALSE, // SrvInvalidateBitMapRect,
|
||||||
// FALSE, // SrvVDMConsoleOperation,
|
FALSE, // SrvVDMConsoleOperation,
|
||||||
FALSE, // SrvSetConsoleCursor,
|
FALSE, // SrvSetConsoleCursor,
|
||||||
FALSE, // SrvShowConsoleCursor,
|
FALSE, // SrvShowConsoleCursor,
|
||||||
FALSE, // SrvConsoleMenuControl,
|
FALSE, // SrvConsoleMenuControl,
|
||||||
FALSE, // SrvSetConsolePalette,
|
FALSE, // SrvSetConsolePalette,
|
||||||
FALSE, // SrvSetConsoleDisplayMode,
|
FALSE, // SrvSetConsoleDisplayMode,
|
||||||
// FALSE, // SrvRegisterConsoleVDM,
|
FALSE, // SrvRegisterConsoleVDM,
|
||||||
FALSE, // SrvGetConsoleHardwareState,
|
FALSE, // SrvGetConsoleHardwareState,
|
||||||
FALSE, // SrvSetConsoleHardwareState,
|
FALSE, // SrvSetConsoleHardwareState,
|
||||||
TRUE, // SrvGetConsoleDisplayMode,
|
TRUE, // SrvGetConsoleDisplayMode,
|
||||||
|
@ -182,31 +186,36 @@ BOOLEAN ConsoleServerApiServerValidTable[ConsolepMaxApiNumber - CONSRV_FIRST_API
|
||||||
FALSE, // SrvSetConsoleNumberOfCommands,
|
FALSE, // SrvSetConsoleNumberOfCommands,
|
||||||
FALSE, // SrvGetConsoleCommandHistoryLength,
|
FALSE, // SrvGetConsoleCommandHistoryLength,
|
||||||
FALSE, // SrvGetConsoleCommandHistory,
|
FALSE, // SrvGetConsoleCommandHistory,
|
||||||
// FALSE, // SrvSetConsoleCommandHistoryMode,
|
FALSE, // SrvSetConsoleCommandHistoryMode,
|
||||||
FALSE, // SrvGetConsoleCP,
|
FALSE, // SrvGetConsoleCP,
|
||||||
FALSE, // SrvSetConsoleCP,
|
FALSE, // SrvSetConsoleCP,
|
||||||
// FALSE, // SrvSetConsoleKeyShortcuts,
|
FALSE, // SrvSetConsoleKeyShortcuts,
|
||||||
FALSE, // SrvSetConsoleMenuClose,
|
FALSE, // SrvSetConsoleMenuClose,
|
||||||
// FALSE, // SrvConsoleNotifyLastClose,
|
FALSE, // SrvConsoleNotifyLastClose,
|
||||||
FALSE, // SrvGenerateConsoleCtrlEvent,
|
FALSE, // SrvGenerateConsoleCtrlEvent,
|
||||||
// FALSE, // SrvGetConsoleKeyboardLayoutName,
|
FALSE, // SrvGetConsoleKeyboardLayoutName,
|
||||||
FALSE, // SrvGetConsoleWindow,
|
FALSE, // SrvGetConsoleWindow,
|
||||||
// FALSE, // SrvGetConsoleCharType,
|
FALSE, // SrvGetConsoleCharType,
|
||||||
// FALSE, // SrvSetConsoleLocalEUDC,
|
FALSE, // SrvSetConsoleLocalEUDC,
|
||||||
// FALSE, // SrvSetConsoleCursorMode,
|
FALSE, // SrvSetConsoleCursorMode,
|
||||||
// FALSE, // SrvGetConsoleCursorMode,
|
FALSE, // SrvGetConsoleCursorMode,
|
||||||
// FALSE, // SrvRegisterConsoleOS2,
|
FALSE, // SrvRegisterConsoleOS2,
|
||||||
// FALSE, // SrvSetConsoleOS2OemFormat,
|
FALSE, // SrvSetConsoleOS2OemFormat,
|
||||||
// FALSE, // SrvGetConsoleNlsMode,
|
FALSE, // SrvGetConsoleNlsMode,
|
||||||
// FALSE, // SrvSetConsoleNlsMode,
|
FALSE, // SrvSetConsoleNlsMode,
|
||||||
// FALSE, // SrvRegisterConsoleIME,
|
FALSE, // SrvRegisterConsoleIME,
|
||||||
// FALSE, // SrvUnregisterConsoleIME,
|
FALSE, // SrvUnregisterConsoleIME,
|
||||||
// FALSE, // SrvGetConsoleLangId,
|
// FALSE, // SrvQueryConsoleIME,
|
||||||
|
FALSE, // SrvGetConsoleLangId,
|
||||||
FALSE, // SrvAttachConsole,
|
FALSE, // SrvAttachConsole,
|
||||||
FALSE, // SrvGetConsoleSelectionInfo,
|
FALSE, // SrvGetConsoleSelectionInfo,
|
||||||
FALSE, // SrvGetConsoleProcessList,
|
FALSE, // SrvGetConsoleProcessList,
|
||||||
|
|
||||||
FALSE, // SrvGetConsoleHistory,
|
FALSE, // SrvGetConsoleHistory,
|
||||||
FALSE, // SrvSetConsoleHistory
|
FALSE, // SrvSetConsoleHistory
|
||||||
|
// FALSE, // SrvSetConsoleCurrentFont,
|
||||||
|
// FALSE, // SrvSetScreenBufferInfo,
|
||||||
|
// FALSE, // SrvConsoleClientConnect,
|
||||||
};
|
};
|
||||||
|
|
||||||
PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER] =
|
PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER] =
|
||||||
|
@ -220,14 +229,14 @@ PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER]
|
||||||
"WriteConsoleOutputString",
|
"WriteConsoleOutputString",
|
||||||
"FillConsoleOutput",
|
"FillConsoleOutput",
|
||||||
"GetConsoleMode",
|
"GetConsoleMode",
|
||||||
// "GetConsoleNumberOfFonts",
|
"GetConsoleNumberOfFonts",
|
||||||
"GetConsoleNumberOfInputEvents",
|
"GetConsoleNumberOfInputEvents",
|
||||||
"GetConsoleScreenBufferInfo",
|
"GetConsoleScreenBufferInfo",
|
||||||
"GetConsoleCursorInfo",
|
"GetConsoleCursorInfo",
|
||||||
// "GetConsoleMouseInfo",
|
"GetConsoleMouseInfo",
|
||||||
// "GetConsoleFontInfo",
|
"GetConsoleFontInfo",
|
||||||
// "GetConsoleFontSize",
|
"GetConsoleFontSize",
|
||||||
// "GetConsoleCurrentFont",
|
"GetConsoleCurrentFont",
|
||||||
"SetConsoleMode",
|
"SetConsoleMode",
|
||||||
"SetConsoleActiveScreenBuffer",
|
"SetConsoleActiveScreenBuffer",
|
||||||
"FlushConsoleInputBuffer",
|
"FlushConsoleInputBuffer",
|
||||||
|
@ -238,13 +247,13 @@ PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER]
|
||||||
"SetConsoleWindowInfo",
|
"SetConsoleWindowInfo",
|
||||||
"ScrollConsoleScreenBuffer",
|
"ScrollConsoleScreenBuffer",
|
||||||
"SetConsoleTextAttribute",
|
"SetConsoleTextAttribute",
|
||||||
// "SetConsoleFont",
|
"SetConsoleFont",
|
||||||
"SetConsoleIcon",
|
"SetConsoleIcon",
|
||||||
"ReadConsole",
|
"ReadConsole",
|
||||||
"WriteConsole",
|
"WriteConsole",
|
||||||
"DuplicateHandle",
|
"DuplicateHandle",
|
||||||
// "GetHandleInformation",
|
"GetHandleInformation",
|
||||||
// "SetHandleInformation",
|
"SetHandleInformation",
|
||||||
"CloseHandle",
|
"CloseHandle",
|
||||||
"VerifyConsoleIoHandle",
|
"VerifyConsoleIoHandle",
|
||||||
"AllocConsole",
|
"AllocConsole",
|
||||||
|
@ -253,13 +262,13 @@ PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER]
|
||||||
"SetConsoleTitle",
|
"SetConsoleTitle",
|
||||||
"CreateConsoleScreenBuffer",
|
"CreateConsoleScreenBuffer",
|
||||||
"InvalidateBitMapRect",
|
"InvalidateBitMapRect",
|
||||||
// "VDMConsoleOperation",
|
"VDMConsoleOperation",
|
||||||
"SetConsoleCursor",
|
"SetConsoleCursor",
|
||||||
"ShowConsoleCursor",
|
"ShowConsoleCursor",
|
||||||
"ConsoleMenuControl",
|
"ConsoleMenuControl",
|
||||||
"SetConsolePalette",
|
"SetConsolePalette",
|
||||||
"SetConsoleDisplayMode",
|
"SetConsoleDisplayMode",
|
||||||
// "RegisterConsoleVDM",
|
"RegisterConsoleVDM",
|
||||||
"GetConsoleHardwareState",
|
"GetConsoleHardwareState",
|
||||||
"SetConsoleHardwareState",
|
"SetConsoleHardwareState",
|
||||||
"GetConsoleDisplayMode",
|
"GetConsoleDisplayMode",
|
||||||
|
@ -273,31 +282,36 @@ PCHAR ConsoleServerApiNameTable[ConsolepMaxApiNumber - CONSRV_FIRST_API_NUMBER]
|
||||||
"SetConsoleNumberOfCommands",
|
"SetConsoleNumberOfCommands",
|
||||||
"GetConsoleCommandHistoryLength",
|
"GetConsoleCommandHistoryLength",
|
||||||
"GetConsoleCommandHistory",
|
"GetConsoleCommandHistory",
|
||||||
// "SetConsoleCommandHistoryMode",
|
"SetConsoleCommandHistoryMode",
|
||||||
"GetConsoleCP",
|
"GetConsoleCP",
|
||||||
"SetConsoleCP",
|
"SetConsoleCP",
|
||||||
// "SetConsoleKeyShortcuts",
|
"SetConsoleKeyShortcuts",
|
||||||
"SetConsoleMenuClose",
|
"SetConsoleMenuClose",
|
||||||
// "ConsoleNotifyLastClose",
|
"ConsoleNotifyLastClose",
|
||||||
"GenerateConsoleCtrlEvent",
|
"GenerateConsoleCtrlEvent",
|
||||||
// "GetConsoleKeyboardLayoutName",
|
"GetConsoleKeyboardLayoutName",
|
||||||
"GetConsoleWindow",
|
"GetConsoleWindow",
|
||||||
// "GetConsoleCharType",
|
"GetConsoleCharType",
|
||||||
// "SetConsoleLocalEUDC",
|
"SetConsoleLocalEUDC",
|
||||||
// "SetConsoleCursorMode",
|
"SetConsoleCursorMode",
|
||||||
// "GetConsoleCursorMode",
|
"GetConsoleCursorMode",
|
||||||
// "RegisterConsoleOS2",
|
"RegisterConsoleOS2",
|
||||||
// "SetConsoleOS2OemFormat",
|
"SetConsoleOS2OemFormat",
|
||||||
// "GetConsoleNlsMode",
|
"GetConsoleNlsMode",
|
||||||
// "SetConsoleNlsMode",
|
"SetConsoleNlsMode",
|
||||||
// "RegisterConsoleIME",
|
"RegisterConsoleIME",
|
||||||
// "UnregisterConsoleIME",
|
"UnregisterConsoleIME",
|
||||||
// "GetConsoleLangId",
|
// "QueryConsoleIME",
|
||||||
|
"GetConsoleLangId",
|
||||||
"AttachConsole",
|
"AttachConsole",
|
||||||
"GetConsoleSelectionInfo",
|
"GetConsoleSelectionInfo",
|
||||||
"GetConsoleProcessList",
|
"GetConsoleProcessList",
|
||||||
|
|
||||||
"GetConsoleHistory",
|
"GetConsoleHistory",
|
||||||
"SetConsoleHistory",
|
"SetConsoleHistory",
|
||||||
|
// "SetConsoleCurrentFont",
|
||||||
|
// "SetScreenBufferInfo",
|
||||||
|
// "ConsoleClientConnect",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -641,4 +641,10 @@ CSR_API(SrvSetConsoleHistory)
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CSR_API(SrvSetConsoleCommandHistoryMode)
|
||||||
|
{
|
||||||
|
DPRINT1("%s not yet implemented\n", __FUNCTION__);
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
/* EOF */
|
/* 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…
Add table
Add a link
Reference in a new issue