Связь с stdin / stdout дочернего процесса асинхронно - PullRequest
4 голосов
/ 07 февраля 2011

Я хочу создать дочерний процесс и асинхронно читать его стандартный вывод. Оказывается, мне нужно создать именованный канал для подключения к stdout, поскольку анонимные каналы не поддерживают асинхронное чтение.

Я знаю о функциях CreateProcess, CreateNamedPipe, CreateFile и ReadFile, но есть ли пример кода, который связывает их все? Я ослеплен морем параметров.

Ответы [ 2 ]

1 голос
/ 08 февраля 2011

Вот пример, который делает это:

http://msdn.microsoft.com/en-us/library/aa365603(v=vs.85).aspx

0 голосов
/ 07 февраля 2011

В основном вы добавляете свой дескриптор трубы в структуру STARTUPINFO в CreateProcess.

Я думаю, что использовал этот пример кода раньше: http://msdn.microsoft.com/en-us/library/ms682499(v=vs.85).aspx

...