CreatePipe()函数「建议收藏」

CreatePipe()函数「建议收藏」CreatePipe()函数原型BOOLCreatePipe(PHANDLEhReadPipe;//指向管道读句柄PHANDLEhWritePipe;//指向管道写句柄LPSECURITY_ATTRIBUTESlpPipeAttributes;//指向管道安全属性DWORDnSize;//管道大小SECURITY_ATTRIBUTES结构体typedefstruct_SECURITY_ATTRIBUTES{ DWORDnLength;//结构体大小,可用siz


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

CreatePipe()函数原型

BOOL CreatePipe(
PHANDLE hReadPipe; //指向管道读句柄
PHANDLE hWritePipe; //指向管道写句柄
LPSECURITY_ATTRIBUTES lpPipeAttributes;  //指向管道安全属性
DWORD nSize; //管道大小
)

SECURITY_ATTRIBUTES结构体

typedef struct _SECURITY_ATTRIBUTES
{ 
   
	DWORD nLength; //结构体大小,可用sizeof取得
	LPVOID lpSecurityDescriptor;
	/*指向一个对象的安全描述符,该安全描述符控制对象的共享, 如果为NULL,则该对象调用进程默认的安全描述符*/
	BOOL bInheritHandle; //能否被新创建的进程继承返回的句柄,若为TRUE则新进程继承该句柄
};
BOOL ReadFile(
HANDLE hFile; //读文件的句柄
LPVOID lpBuffer; //指向从文件存取数据的缓冲区的指针
DWORD nNumberOfBytesToRead; //要从文件读的字节数目
LPDWORD nNumberOfBytesRead; //一个指向读字节数的指针,存放实际从文件读的字节数目
LPOVERLAPPED lpOverLapped; 
/*指向一个OVERLAPPED结构体的指针,若用FILE_FLAGOVERLAPPED打开 hFile句柄文件,则它必须指向OVERLAPPED结构体,否则,赋值为NULL*/
)
while(feof(pfile))
{ 
   
	char s = fgetc(pfile);
	printf("%c",s);
}
DWORD WINAPI ThreadProc(LPVOID lpParameter)
{ 
   
	//线程函数体
}
WaitForSingleObiect
(
HANDLE hHandle;//等待对象句柄,可以指一系列对象,Event,Process,Thread,Semaphore等
DWORD dwMilliseconds;
//等待时间,若为INFINITE则表示一直等待,线程被挂起,
//直到所指对象变为有信号状态;若为0表示函数立即返回
)

WAIT_ABANDONED,当对象为mutex时,若拥有mutex的线程在结束时没有释放核心对象,则会返回该值;

HANDLE WINAPI CreateNamedPipe(
  LPCTSTR lpName, //pipe name
  DWORD dwOpenMode, //pipe open mode
  DWORD dwPipeMode, //pipe-specific modes
  DWORD nMaxInstances, //maximum number of instances
  DWORD nOutBufferSize, //output buffer size
  DWORD nInBufferSize, //input buffer size
  DWORD nDefaultTimeOut, //time-out interval
  LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
HANDLE CreateFile(
 	LPCSTR lpFileName,//指向文件名的指针
    DWORD dwDesiredAccess,// 访问模式(写 / 读)
    DWORD dwShareMode,// 共享模式 
   	LPSECURITY_ATTRIBUTES lpSecurityAttributes,// 指向安全属性的指针
   	DWORD dwCreationDisposition,// 如何创建
    DWORD dwFlagsAndAttributes, // 文件属性 
   	HANDLE hTemplateFile// 用于复制文件句柄 
);
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159407.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • steam钓鱼网站源码_绝地求生驱动压枪源码

    steam钓鱼网站源码_绝地求生驱动压枪源码看到到处都在发钓鱼网站简单丧心病狂索性我干脆开源了,大不了互相伤害啊!源码地址:https://www.lanzous.com/i1tl2ad如果有什么不懂的开源加QQ群:726840814…

    2022年8月24日
  • ubuntu下DNS服务器配置

    ubuntu下DNS服务器配置现贴一个wiki上的dns配置(非常全面,查询用)http://wiki.ubuntu.org.cn/Bind9%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97#Master_Server.EF.BC.88.E4.B8.BB.E6.9C.8D.E5.8A.A1.E5.99.A8.EF.BC.89_2进入正题:首先安装BIND套件

    2022年6月4日
  • Linux下LAMP的配置详解

    Linux下LAMP的配置详解LAMP的搭建需要安装httpd  phpmysql 三个程序安装完以后先修改httpd的配置文件首先先修改全局配置文件 也就是主配置文件/etc/httpd/conf/httpd.conf将ServerRoot改为ServerRoot"/etc/httpd"将Listen改为Listen80将网站的根目录改为DocumentRoot"/var/www/html"将默认配置索引文件改…

    2022年6月6日
  • 图片和Base64编码相互转换[通俗易懂]

    图片和Base64编码相互转换[通俗易懂]https://www.cnblogs.com/hzhl/articles/14919747.html

    2022年6月5日
  • 【java系列】unix时间戳转Date[通俗易懂]

    【java系列】unix时间戳转Date[通俗易懂]unix时间戳转Date注意,不能直接使用Integer进行乘除和转换,需要转成bigDecimal去处理,否则转换出来的时间只会是1970-xxxxpackagehutoolTest;importcn.hutool.core.date.DateTime;importjava.math.BigDecimal;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassDateTest{pub

    2022年6月25日
  • sparkSQL实例_flink sql

    sparkSQL实例_flink sql记一次SparkSqlETL过程需求:1)input:json日志2)ETL:根据IP解析出省份,城市3)stat:地区分布指标计算,满足条件的才算,满足条件的赋值为1,不满足的赋值为0(如下图)将统计结果写入MySQL中。(就比如说这个广告请求要满足requestmode=1和processnode=3这两个条件)valspark=SparkSessi…

    2022年10月29日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号