读书人

怎么创建一个让WaitForSingle阻塞的匿

发布时间: 2012-05-02 15:36:04 作者: rapoo

如何创建一个让WaitForSingle阻塞的匿名管道?
我发现VC创建匿名管道,创建出来的两个句柄都不是阻塞的,WaitForSingle会立刻返回。
我的需求是: WaitFor一个管道句柄的时候,应该在管道有数据的时候返回。

不知道能不能做到这样呢? 就是设置管道句柄的状态为阻塞,直到有数据I/O产生,才能从Wait函数返回?
下面这个小程序是会立刻运行结束,打印"Ok"的:

C/C++ code
#include "stdafx.h"#include<Windows.h>int _tmain(int argc, _TCHAR* argv[]){    HANDLE ReadPipe, WritePipe;    BOOL fRet = CreatePipe( &ReadPipe, &WritePipe, NULL, 0 );    if( !ReadPipe || !WritePipe || !fRet )    {        return 1;    }    WaitForSingleObject(ReadPipe,INFINITE);    WaitForSingleObject(WritePipe,INFINITE);    printf("Ok\n");    return 0;}


如何达到我的需求呢? 谢谢!

[解决办法]
ReadFile,WriteFile即可
[解决办法]
有数据产生后马上SetEvent

读书人网 >VC/MFC

热点推荐