阅读量: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函数关闭管道句柄。