[CONSRV]: Use an optional parameter for passing things to the "line discipline" funct...
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 14 Dec 2014 16:53:47 +0000 (16:53 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 14 Dec 2014 16:53:47 +0000 (16:53 +0000)
svn path=/branches/condrv_restructure/; revision=65640

win32ss/user/winsrv/consrv/condrv/coninput.c
win32ss/user/winsrv/consrv/condrv/dummyterm.c
win32ss/user/winsrv/consrv/coninput.c
win32ss/user/winsrv/consrv/frontends/terminal.c
win32ss/user/winsrv/consrv/include/conio.h
win32ss/user/winsrv/consrv/include/term.h

index a3f3841..1f4a34a 100644 (file)
@@ -238,10 +238,10 @@ ConDrvDeinitInputBuffer(IN PCONSOLE Console)
 NTSTATUS NTAPI
 ConDrvReadConsole(IN PCONSOLE Console,
                   IN PCONSOLE_INPUT_BUFFER InputBuffer,
-                  /**/IN PUNICODE_STRING ExeName /**/OPTIONAL/**/,/**/
                   IN BOOLEAN Unicode,
                   OUT PVOID Buffer,
                   IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
+                  IN PVOID Parameter OPTIONAL,
                   IN ULONG NumCharsToRead,
                   OUT PULONG NumCharsRead OPTIONAL)
 {
@@ -260,10 +260,10 @@ ConDrvReadConsole(IN PCONSOLE Console,
 
     /* Call the line-discipline */
     return TermReadStream(Console,
-                          ExeName,
                           Unicode,
                           Buffer,
                           ReadControl,
+                          Parameter,
                           NumCharsToRead,
                           NumCharsRead);
 }
index 2066cb5..73cbe8f 100644 (file)
@@ -31,11 +31,11 @@ DummyDeinitTerminal(IN OUT PTERMINAL This)
 
 static NTSTATUS NTAPI
 DummyReadStream(IN OUT PTERMINAL This,
-                /**/IN PUNICODE_STRING ExeName /**/OPTIONAL/**/,/**/
                 IN BOOLEAN Unicode,
                 /**PWCHAR Buffer,**/
                 OUT PVOID Buffer,
                 IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
+                IN PVOID Parameter OPTIONAL,
                 IN ULONG NumCharsToRead,
                 OUT PULONG NumCharsRead OPTIONAL)
 {
index c2c5d2c..e7ee44d 100644 (file)
@@ -302,10 +302,10 @@ Quit:
 NTSTATUS NTAPI
 ConDrvReadConsole(IN PCONSOLE Console,
                   IN PCONSOLE_INPUT_BUFFER InputBuffer,
-                  /**/IN PUNICODE_STRING ExeName /**/OPTIONAL/**/,/**/
                   IN BOOLEAN Unicode,
                   OUT PVOID Buffer,
                   IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
+                  IN PVOID Parameter OPTIONAL,
                   IN ULONG NumCharsToRead,
                   OUT PULONG NumCharsRead OPTIONAL);
 static NTSTATUS
@@ -324,7 +324,7 @@ ReadChars(IN PGET_INPUT_INFO InputInfo,
     ULONG NrCharactersRead = 0;
     ULONG CharSize = (ReadConsoleRequest->Unicode ? sizeof(WCHAR) : sizeof(CHAR));
 
-    /* Compute the executable name, if needed */
+    /* Retrieve the executable name, if needed */
     if (ReadConsoleRequest->InitialNumBytes == 0 &&
         ReadConsoleRequest->ExeLength <= sizeof(ReadConsoleRequest->StaticBuffer))
     {
@@ -366,10 +366,10 @@ ReadChars(IN PGET_INPUT_INFO InputInfo,
     DPRINT("Calling ConDrvReadConsole(%wZ)\n", &ExeName);
     Status = ConDrvReadConsole(InputBuffer->Header.Console,
                                InputBuffer,
-                               &ExeName,
                                ReadConsoleRequest->Unicode,
                                Buffer,
                                &ReadControl,
+                               &ExeName,
                                ReadConsoleRequest->NumBytes / CharSize, // NrCharactersToRead
                                &NrCharactersRead);
     DPRINT("ConDrvReadConsole returned (%d ; Status = 0x%08x)\n",
index 668b4d6..5a59492 100644 (file)
@@ -296,17 +296,18 @@ ConSrvTermDeinitTerminal(IN OUT PTERMINAL This)
 
 static NTSTATUS NTAPI
 ConSrvTermReadStream(IN OUT PTERMINAL This,
-                     /**/IN PUNICODE_STRING ExeName /**/OPTIONAL/**/,/**/
                      IN BOOLEAN Unicode,
                      /**PWCHAR Buffer,**/
                      OUT PVOID Buffer,
                      IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
+                     IN PVOID Parameter OPTIONAL,
                      IN ULONG NumCharsToRead,
                      OUT PULONG NumCharsRead OPTIONAL)
 {
     PFRONTEND FrontEnd = This->Data;
     PCONSRV_CONSOLE Console = FrontEnd->Console;
     PCONSOLE_INPUT_BUFFER InputBuffer = &Console->InputBuffer;
+    PUNICODE_STRING ExeName = Parameter;
 
     // STATUS_PENDING : Wait if more to read ; STATUS_SUCCESS : Don't wait.
     NTSTATUS Status = STATUS_PENDING;
index a372864..271a130 100644 (file)
@@ -217,13 +217,13 @@ typedef struct _TERMINAL_VTBL
     /* Interface used only for text-mode screen buffers */
 
     NTSTATUS (NTAPI *ReadStream)(IN OUT PTERMINAL This,
-                                /**/IN PUNICODE_STRING ExeName /**/OPTIONAL/**/,/**/
-                                IN BOOLEAN Unicode,
-                                /**PWCHAR Buffer,**/
-                                OUT PVOID Buffer,
-                                IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
-                                IN ULONG NumCharsToRead,
-                                OUT PULONG NumCharsRead OPTIONAL);
+                                 IN BOOLEAN Unicode,
+                                 /**PWCHAR Buffer,**/
+                                 OUT PVOID Buffer,
+                                 IN OUT PCONSOLE_READCONSOLE_CONTROL ReadControl,
+                                 IN PVOID Parameter OPTIONAL,
+                                 IN ULONG NumCharsToRead,
+                                 OUT PULONG NumCharsRead OPTIONAL);
     NTSTATUS (NTAPI *WriteStream)(IN OUT PTERMINAL This,
                                   PTEXTMODE_SCREEN_BUFFER Buff,
                                   PWCHAR Buffer,
index ecea140..a672499 100644 (file)
@@ -10,9 +10,9 @@
 
 /* Macros used to call functions in the TERMINAL_VTBL virtual table */
 
-#define TermReadStream(Console, ExeName, /**/ Unicode, /**/ Buffer, ReadControl, NumCharsToRead, NumCharsRead) \
-    (Console)->TermIFace.Vtbl->ReadStream(&(Console)->TermIFace, (ExeName), /**/ (Unicode), /**/ \
-                                           (Buffer), (ReadControl), (NumCharsToRead), (NumCharsRead))
+#define TermReadStream(Console, /**/ Unicode, /**/ Buffer, ReadControl, Parameter, NumCharsToRead, NumCharsRead) \
+    (Console)->TermIFace.Vtbl->ReadStream(&(Console)->TermIFace, /**/ (Unicode), /**/ \
+                                           (Buffer), (ReadControl), (Parameter), (NumCharsToRead), (NumCharsRead))
 
 #define TermWriteStream(Console, ScreenBuffer, Buffer, Length, Attrib) \
     (Console)->TermIFace.Vtbl->WriteStream(&(Console)->TermIFace, (ScreenBuffer), (Buffer), \