CreatePipe()函数
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 nameDWORD dwOpenMode, //pipe open modeDWORD dwPipeMode, //pipe-specific modesDWORD nMaxInstances, //maximum number of instancesDWORD nOutBufferSize, //output buffer sizeDWORD nInBufferSize, //input buffer sizeDWORD nDefaultTimeOut, //time-out intervalLPSECURITY_ATTRIBUTES lpSecurityAttributes
);
HANDLE CreateFile(LPCSTR lpFileName,//指向文件名的指针DWORD dwDesiredAccess,// 访问模式(写 / 读)DWORD dwShareMode,// 共享模式 LPSECURITY_ATTRIBUTES lpSecurityAttributes,// 指向安全属性的指针DWORD dwCreationDisposition,// 如何创建DWORD dwFlagsAndAttributes, // 文件属性 HANDLE hTemplateFile// 用于复制文件句柄
);
CreatePipe()函数相关推荐
- php+管道+pipe管道,C++ 匿名管道执行DOS命令
最近在开发一个项目.需要PHP Sock连接到服务器中执行DOS 命令 , 所以想到了命名管道 CreatePipe 其函数原型BOOL CreatePipe( PHANDLE hReadPipe, ...
- 进程通信之二 管道技术第二篇 匿名管道
上一篇<进程通信之二 管道技术第一篇 输入输出的重定向>示范了增加若干程序代码来完成程序输入输出的重定向,并提出了如果没有程序源代码,只有程序文件如何来完成重定向.本篇就介绍如何使用匿名管 ...
- 管道实现进程间通讯 、WaitNamedPipe
一.管道实现进程间通讯 主要的理论知识 1.什么是管道以及分类 管道是两个头的东西,每一个头各连接一个进程或者同一个进程的不同代码,依照管道的类别分有两种管道,匿名的和命名的:依照管道的传输方向分也能 ...
- 使用重定向的输入和输出创建子进程
本主题中的示例演示如何使用控制台进程中的CreateProcess函数创建子进程.它还演示了一种使用匿名管道重定向子进程的标准输入和输出句柄的技术.请注意,命名管道也可用于重定向进程I / O. 所述 ...
- C# 程序间通信的各种途径及解析
本文转自博文地址为:http://blog.sina.com.cn/s/blog_4b3485000100yext.html 一.开篇 程序间通信的主要目的是实现多台计算机(也可以是同一台 ...
- VxWorks6.6移植嵌入式ICE中间件解决方案
一.前言 iceE1.3.0中间件当前版本并没有直接支持VxWorks,我们可能在百度搜索上也找不到相关移植资料.在Windows,unix,linux等相关操作系统下,也许你可以轻松地搞定.或许估计 ...
- 基于VC++的网络扫描器设计与实现
本文正文其实是自己的毕业论文,现在搬上来有两个原因. 一是之前大学的文档都放在百度网盘上,大概去年的时候百度网盘改版搞得不太稳定,文件夹移动次数一多里边就会有一些文件丢失了,也没有很在意.但前几天看申 ...
- Windows API函数大全
1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同 ...
- 孙鑫VC++课程中用到的函数一览
在许多VC教科书中这些函数/方法.结构.宏等比较常见,觉得比较重要,虽然不用记住,但应该知道,所以列举出来,没写出参数和返回值情况,编写程序时还需仔细查看MSDN文档.本人英语水平较差再加上自己的一些 ...
- C++ MFC常用函数(转)
WinExec() ExitWindowsEx() GlobalMemoryStatus() GetSystemInfo() GetSystemDirectory() GetWindowsDirect ...
最新文章
- Hadoop集群的基本操作(四:Hive的基本操作)
- np.random.permutation
- 你不知道的JavaScript系列(一)—— 类型
- [operator]ubuntu + git
- Java下List使用subList实现分页获取
- ubuntu或者fedora下编译淘宝tair key-value-db的开源内存数据库
- [leetcode]376. 摆动序列
- Machine Learning(Andrew)Week6(上)
- http://blog.csdn.net/jiazimo/article/details/17265061
- python教程视频ajax_Ajax异步请求实战案例讲解视频教程
- C/C++笔试题(很多)
- reset清除所有浏览器默认样式
- linux防火墙过滤规则
- 电脑键盘的快捷功能,你学会了工作效率提高一半以上
- YoutubeAPI使用
- 分享到qq空间android,android 分享到QQ空间的全部操作
- 从市场应用角度上来划分,云可分为文件云、应用云、手机云和开放云
- oppor9splus计算机找不到了,如果oppor9splus的返回键失败,该如何设置oppor9splus虚拟键?...
- UG翼型参数化建模方法及代码
- JMSCorrelationID 艹草艹