怎么用CreatePipe函数创建管道

avatar
作者
筋斗云
阅读量:1

CreatePipe函数是用来创建匿名管道的。它的声明如下:

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

参数说明:

  • hReadPipe:输出参数,接收指向管道的读取端的句柄。
  • hWritePipe:输出参数,接收指向管道的写入端的句柄。
  • lpPipeAttributes:指向SECURITY_ATTRIBUTES结构的指针,用于指定管道的安全性。可以设置为NULL,表示使用默认的安全性。
  • nSize:指定管道缓冲区的大小,单位是字节。可以设置为0,表示使用默认大小。

下面是一个使用CreatePipe函数创建管道的示例代码:

#include <windows.h>  int main() {     HANDLE hReadPipe, hWritePipe;     SECURITY_ATTRIBUTES sa;     sa.nLength = sizeof(SECURITY_ATTRIBUTES);     sa.lpSecurityDescriptor = NULL;     sa.bInheritHandle = TRUE;      // 创建管道     if (!CreatePipe(&hReadPipe, &hWritePipe, &sa, 0)) {         printf("Failed to create pipe.\n");         return 1;     }      // 使用管道进行进程间通信     // ...      // 关闭管道     CloseHandle(hReadPipe);     CloseHandle(hWritePipe);          return 0; } 

在创建管道之后,可以使用返回的读取端和写入端句柄进行进程间通信。使用完毕后,需要调用CloseHandle函数关闭管道句柄。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!