Changes to WinPipe V1.0.2
- A bug was fixed in the shGenerateConsoleCtrlEvent function of the WinPipe Shell. In WinPipe V1.0.1 the shell would suspend the child thread without resuming the thread, this has been fixed in V1.0.2.
- Some functions were suspending the child thread when it was not necessary. These instances were corrected.
- An improvement was made to the ScrollAfterRead function of the WinPipe Shell. In WinPipe V1.0.1 the shell would fill scrolled out text with attributes set to 0. WinPipe Shell V1.0.2 uses attributes from the console screen buffer info structure.
- The WPipeWriteConsoleInput function was optimized by getting rid of the LPWPSHELL_WRITECONSOLEINPUT structure. In WinPipe V1.0.2 the WPipeWriteConsoleInput function in the DLL posts to the shared memory mapping a 32 bit value indicating the number of input event records to be written followed by an array of input event records. The WinPipe Shell no longer posts the number of input event records actually written to the shared memory mapping. Instead the shell returns this information in the lParam of the response message. This eliminates the DLLs need to make a second access to the shared memory mapping.
- In WinPipe V1.0.2 in both the Shell and DLL some functions that were either very small or only called once were made inline to improve optimization. Also, an optimize target rule was added to the WinPipe V1.0.2 makefile.
- The ConsoleNoEcho function in the WinPipe Shell which was used to ensure that console echoing would not be enabled by the child process has been removed because it did not provide the intended functionality. More about this in the WinPipe V1.0 Limitations.
- The code was cleaned up. Unnecessary code was removed, and code that had been commented out but was used during debugging and development was removed to make the code more readable.
