创建匿名管道CreatePipe

函数原型:

BOOL CreatePipe(
PHANDLE hReadPipe,
PHANDLE hWritePipe,
LPSECURITY_ATTRIBUTES lpPipeAttributes,
DWORD nSize
);

参数1:指向变量的指针,该变量接收管道的读句柄。

参数2:指向变量的指针,该变量接收管道的写句柄。

参数3:指向SECURITY_ATTRIBUTES结构的指针,该 结构确定子进程是否可以继承返回的句柄。如果lpPipeAttributes为NULL,则不能继承该句柄。
该结构的lpSecurityDescriptor成员为新管道指定安全描述符。如果lpPipeAttributes为NULL,则管道将获取默认的安全描述符。管道的默认安全描述符中的ACL来自创建者的主令牌或模拟令牌。

参数4:管道缓冲区的大小,以字节为单位。大小只是一个建议;系统使用该值来计算适当的缓冲机制。如果此参数为零,则系统使用默认缓冲区大小。

管道的读句柄和写句柄:
从管道里读数据通过读句柄(hReadPipe),往管道里写数据通过写句柄(hWritePipe)。
所以将管道中的数据写入文件里应该通过读句柄
将文件中的数据写入管道应该通过写句柄