CreatePipe 函数

本文介绍如何使用CreatePipe函数创建匿名管道以实现进程间的数据共享。文章详细解释了函数的各个参数,包括句柄的获取、安全属性的设置及管道缓冲区的大小建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建管道共享数据

//创建匿名管道
SECURITY_ATTRIBUTES sa;
HANDLE hRead,hWrite;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor = NULL;
sa.bInheritHandle = TRUE;
CreatePipe(&hRead,&hWrite,&sa,0);


MSDN:[url]http://msdn.microsoft.com/en-us/library/aa365152(VS.85).aspx[/url]
---------------
CreatePipe Function

创建一个匿名管道,并返回管道的句柄。

语法

C++

BOOL WINAPI CreatePipe(
__out PHANDLE hReadPipe,
__out PHANDLE hWritePipe,
__in_opt LPSECURITY_ATTRIBUTES lpPipeAttributes,
__in DWORD nSize
);

参数

hReadPipe [out]

指向一个变量的指针,该变量接收管道的读取句柄。

hWritePipe [out]

指向一个变量,该变量接收管道的写入句柄。

lpPipeAttributes [in, optional]

一个指向SECURITY_ATTRIBUTES结构的指针,该结构决定返回的句柄是否能被子进程所继承。如果lpPipeAttributs 参数为NULL,则句柄不能继承。
SECURITY_ATTRIBUTES 结构的lpSecurityDescriptor 成员指定了新管道的安全描述符。如果该参数为NULL,管道会获得一个默认的安全描述符。管道的默认安全描述符中的ACL来自创建者的主标记或模拟标记。

nSize [in]

管道缓冲的大小(字节)。这个大小仅是一个建议;系统使用一个和值的缓冲计算机制来计算这个值。如果该参数为0,系统使用默认的缓冲大小。

返回值

如果函数成功,返回非零值;否则返回零值。

备注

该函数创建一个管道,为指定的管道指派存储缓冲的大小。该函数也创建之后用于进程读取或写入缓冲的句柄。
从管道里读取内容,进程通过ReadFile函数并利用读取句柄来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值