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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html的标签点击触发js函数的四种方法[通俗易懂]

    html的标签点击触发js函数的四种方法[通俗易懂] 方法1<a href="" onclick="funct()">我是a标签</a>方法2<a href="javascript:funct()">我是a标签</a>方法3<a id=’funct’ >我是a标签</a> 方法4然后使用jq的方法

    2022年6月13日
  • 控件anchor和dock属性_控件的常用属性

    控件anchor和dock属性_控件的常用属性在设计窗体时,这两个属性特别有用,如果用户认为改变窗口的大小并不容易,应确保窗口看起来显示的不是那么乱,并编写很多代码来实现这个效果,许多程序解决这个问题都是禁止给窗口重新设置大小这显然是解决问题的最简单的方法,但不是最好的方法,因此引入了Anchor和Dock属性。1、Anchor属性用于指定在用户重新设置窗口的大小时控件应该如何响应,可以指定如果控件重新设置了大小,就根据控件的边界去锁

    2022年9月11日
  • Ubuntu 12.04下解决Tomcat自启动问题

    当我们安装好Tomcat使用后发现,每次启动都需要在终端中手动键入sudo/var/tomcat/bin/startup.sh,那么我们怎么解决这个问题呢http://hovertree.com/

    2021年12月24日
  • ostaskdel函数_cursor函数

    ostaskdel函数_cursor函数OSTaskCreate()

    2022年9月5日
  • Web后端开发入门(1)

    Web概述:    在英语中web表示网页的意思,它用于表示Internet主机上供外界访问的资源。Internet上供外界访问的Web资源分为:    1.静态Web资源(如html页面):指web页面中始终不变的数据。    2.动态Web资源:指web页面中供人们浏览的数据是由程序产生的,也就是实时变化的数据。动态Web应用的实现手段:    静态web开发技术有html,常用动态web开发…

    2022年4月4日
  • 加密流量分析「建议收藏」

    加密流量分析「建议收藏」1.背景现在很多高级的攻击的目的都是为了获取数据,部分是为了损人不利己的破坏。对于前者,主要是把获取的机密信息加密绕过DLP系统传输到外面,这也是很多安全事件的源头。不解密,技术人员无法检测此类恶意软件,这就意味着他们面临在安全和隐私之间需要做出权衡。2.简述用于保护在线数据的加密技术给恶意软件提供了藏身之地。如何检测出加密流量中的威胁一直是行业面临的一个难题……现在,这一难题…

    2022年5月2日

发表回复

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

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