我发现VC创建匿名管道,创建出来的两个句柄都不是阻塞的,WaitForSingle会立刻返回。
我的需求是: WaitFor一个管道句柄的时候,应该在管道有数据的时候返回。不知道能不能做到这样呢? 就是设置管道句柄的状态为阻塞,直到有数据I/O产生,才能从Wait函数返回?
下面这个小程序是会立刻运行结束,打印"Ok"的:#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;
}如何达到我的需求呢? 谢谢!