当前位置:首页 科普知识 CreatePipe

CreatePipe

发布时间:2023-09-14 02:15:46

CreatePipe是创建一个匿名管道,并从中得到读写管道的句柄。

CreatePipe介绍

CreatePipe是创建一个匿名管道,并从中得到读写管道的句柄。

CreatePipe

CreatePipeSyntax

BOOL WINAPI CreatePipe( _Out_PHANDLE hReadPipe, _Out_PHANDLE hWritePipe, _In_opt_LPSECURITY_ATTRIBUTES lpPipeAttributes, _In_DWORD nSize);

CreatePipeParameters

hReadPipe返回一个可用于读管道数据的文件句柄

hWritePipe返回一个可用于写管道数据的文件句柄

lpPipeAttributes传入一个SECURITY_ATTRIBUTES结构的指针,该结构用于决定该函数返回的句柄是否可被子进程继承。如果传NULL,则返回的句柄是不可继承的。该结构的lpSecurityDescriptor成员用于设定管道的安全属性,如果传NULL,那么该管道将获得一个默认的安全属性,该属性与创建该管道的用户账户权限ACLs的安全令牌(token)相同。

nSize管道的缓冲区大小。但是这仅仅只是一个理想值,系统根据这个值创建大小相近的缓冲区。如果传入0 ,那么系统将使用一个默认的缓冲区大小。

CreatePipeVB声明

Declare Function CreatePipe Lib "kernel32" Alias "CreatePipe" (phReadPipe As Long, phWritePipe As Long, lpPipeAttributes As SECURITY_ATTRIBUTES, ByVal nSize As Long) As Long

说明

CreatePipe

创建一个匿名管道

返回值

Long,非零表示成功,零表示失败。会设置GetLastError

参数表

参数 类型及说明

phReadPipe Long,指定一个变量,设为管道读入(输出)端的一个句柄

phWritePipe Long,指定一个变量,设为管道写入(输入)端的一个句柄

CreatePipe

lpPipeAttributes SECURITY_ATTRIBUTES,指定一个SECURITY_ATTRIBUTES结构,或者传递零值(将参数声明为ByVal As Long,并传递零值),以便使用不允许继承的一个默认描述符

nSize Long,管道缓冲区的建议大小。零表示用默认值

注解

匿名管道不允许异步操作,所以如在一个管道中写入数据,且缓冲区已满,那么除非另一个进程从管道中读出数据,从而腾出了缓冲区的空间,否则写入函数不会返回

温馨提示:
本文【CreatePipe】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6