大连网站建设 意动科技,佛山建站模板,公司在兰州要做网站怎样选择,软件开发技术流程图BOOL CreatePipe(PHANDLE hReadPipe, // 指向读句柄的指针 PHANDLE hWritePipe, // 指向写句柄的指针 LPSECURITY_ATTRIBUTES lpPipeAttributes, // 指向安全属性的指针 DWORD nSize // 管道大小); 管道#xff08;Pipe#xff09;实际是用于进程间通信的一段共享内存 管道Pipe实际是用于进程间通信的一段共享内存创建管道的进程称为管道server连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后还有一进程就能够从管道的还有一端将其读取出来。匿名管道Anonymous Pipes是在父进程和子进程间单向数据传输的一种未命名的管道仅仅能在本地计算机中使用而不可用于网络间的通信。 管道server将lpPipeAttributes 指向的SECURITY_ATTRIBUTES数据结构的数据成员bInheritHandle设置为TRUE那么CreatePipe创建的管道读、写句柄将会被继承 父进程能够调用进程创建函数CreateProcess生成子进程。假设父进程要发送数据到子进程父进程可调用WriteFile将数据写入到管道传递管道写句柄给函数子进程则调用GetStdHandle取得管道的读句柄将该句柄传入ReadFile后从管道读取数据。 假设是父进程从子进程读取数据那么由子进程调用GetStdHandle取得管道的写入句柄并调用WriteFile将数据写入到管道。然后父进程调用ReadFile从管道读取出数据传递管道读句柄给函数。 在用WriteFile函数向管道写入数据时仅仅有在向管道写完指定字节的数据后或是在有发生错误时函数才会返回。如管道缓冲已满而数据还没有写完WriteFile将要等到还有一进程对管道中数据读取以释放出很多其它可用空间后才可以返回。管道server在调用CreatePipe创建管道时以參数nSize对管道的缓冲大小作了设定。 匿名管道并不支持异步读、写操作这也就意味着不能在匿名管道中使用ReadFileEx和WriteFileEx并且ReadFile和WriteFile中的lpOverLapped參数也将被忽略。匿名管道将在读、写句柄都被关闭后退出也能够在进程中调用CloseHandle函数来关闭此句柄。 转载于:https://www.cnblogs.com/mfrbuaa/p/4486758.html