我目前正在使用this example作为重定向CreateProcess
启动的子流程标准错误的指南。
然而,与当前示例不同,我等待进程完成(检查GetExitCodeProcess
),关闭管道,然后在返回非零返回代码时读取错误。
但是我已经读过如果管道填满客户端进程将阻塞直到管道被清除。我在执行期间当前没有从管道中读取的原因是ReadFile调用在执行期间阻塞(标准错误仅在结尾处输出)所以我无法抽取消息队列以避免GUI“重影”并且正在执行没有回应。
我找不到任何关于默认管道大小的引用(尽管我自己可以设置一个大小),这是我需要担心的事情,因为我将输出缓冲到一个字符串变量供以后使用无论如何? (即,它需要适合进程的可用内存,因此它有一个硬限制,它不会像大多数示例那样进入文件)