WinCE不支持管道,所以在Windows/Linux平台利用管道进行重定向的办法无效。
通过阅读WinCE telnetd的代码发现,在WinCE下进行重定向用的是流接口驱动的
办法。
简单的说,就是写一个设备驱动,host程序打开它,然后把slave程序的stdin/out设置
到这个设备上(SetStdioPathW)。因为WinCE的设备驱动其实是一个运行在用户模式
下的Dll,而且在内存中永远只有一份。所以可以通过这个Dll来实现 Host和Slave
程序之间的交互。
比较复杂的情况是多进程/线程的问题,因为不同的进程可以同时使用这个驱动。