选择特殊符号

选择搜索类型

热门搜索

首页 > 百科 > 建设工程百科

管道操作使用说明

管道操作使用说明

命名管道是由服务器端的进程建立的,管道的命名必须遵循特定的命名方法,就是 "\\.\pipe\管道名",当作为客户端的进程要使用时,使用"\\计算机名\\pipe\管道名" 来打开使用,具体步骤如下:

服务端通过函数 CreateNamedPipe 创建一个命名管道的实例并返回用于今后操作的句柄,或为已存在的管道创建新的实例。 服务端侦听来自客户端的连接请求,该功能通过 ConnectNamedPipe 函数实现。 客户端通过函数 WaitNamedPipe 来等待管道的出现,如果在超时值变为零以前,有一个管道可以使用,则 WaitNamedPipe 将返回 True,并通过调用 CreateFile 或 CallNamedPipe 来呼叫对服务端的连接。 此时服务端将接受客户端的连接请求,成功建立连接,服务端 ConnectNamedPipe 返回 True 建立连接之后,客户端与服务器端即可通过 ReadFile 和 WriteFile,利用得到的管道文件句柄,彼此间进行信息交换。 当客户端与服务端的通信结束,客户端调用 CloseFile,服务端接着调用 DisconnectNamedPipe。最后调用函数CloseHandle来关闭该管道。 由于命名管道使用时作为客户端的程序必须知道管道的名称,所以更多的用在同一"作者"编写的服务器/工作站程序中,你不可能随便找出一个程序来要求它和你写的程序来通过命名管道通信。而匿名管道的使用则完全不同,它允许你和完全不相干的进程通信,条件是这个进程通过控制台"console"来输入输出,典型的例子是老的 Dos 应用程序,它们在运行时 Windows 为它们开了个 Dos 窗口,它们的输入输出就是 console 方式的。还有一些标准的 Win32 程序也使用控制台输入输出,如果在 Win32 编程中不想使用图形界面,你照样可以使用 AllocConsole 得到一个控制台,然后通过 GetStdHandle 得到输入或输出句柄,再通过 WriteConsole 或 WriteFile 把结果输出到控制台(通常是一个象 Dos 窗口)的屏幕上。虽然这些程序看起来象 Dos 程序,但它们是不折不扣的 Win32 程序,如果你在纯 Dos 下使用,就会显示"The program must run under Windows!"。

一个控制台有三个句柄:标准输入、标准输出和和标准错误句柄,标准输入、标准输出句柄是可以重新定向的,你可以用匿名管道来代替它,这样一来,你可以在管道的另一端用别的进程来接收或输入,而控制台一方并没有感到什么不同,就象 Dos 下的 > 或者 < 可以重新定向输出或输入一样。通常控制台程序的输入输出如下:

(控制台进程output) write ----> 标准输出设备(一般是屏幕)

(控制台进程input) read <---- 标准输入设备(一般是键盘)

而用管道代替后:

(作为子进程的控制台进程output) write ----> 管道1 ----> read (父进程)

(作为子进程的控制台进程input) read <----> 管道2 <---- write (父进程)

使用匿名管道的步骤如下:

使用 CreatePipe 建立两个管道,得到管道句柄,一个用来输入,一个用来输出 准备执行控制台子进程,首先使用 GetStartupInfo 得到 StartupInfo 使用第一个管道句柄代替 StartupInfo 中的 hStdInput,第二个代替 hStdOutput、hStdError,即标准输入、输出、错误句柄 使用 CreateProcess 执行子进程,这样建立的子进程输入和输出就被定向到管道中 父进程通过 ReadFile 读第二个管道来获得子进程的输出,通过 WriteFile 写第一个管道来将输入写到子进程 父进程可以通过 PeekNamedPipe 来查询子进程有没有输出 子进程结束后,要通过 CloseHandle 来关闭两个管道。 下面是具体的说明和定义:

1. 建立匿名管道使用 CreatePipe 原形如下:

BOOL CreatePipe(

PHANDLE hReadPipe, // address of variable for read handle

PHANDLE hWritePipe, // address of variable for write handle

LPSECURITY_ATTRIBUTES lpPipeAttributes, // pointer to security attributes

DWORD nSize // number of bytes reserved for pipe

);

当管道建立后,结构中指向的 hReadPipe 和 hWritePipe 可用来读写管道,当然由于匿名管道是单向的,你只能使用其中的一个句柄,参数中的 SECURITY_ATTRIBUTES 的结构必须填写,定义如下:

typedef struct_SECURITY_ATTRIBUTES{

DWORD nLength: //定义以字节为单位的此结构的长度

LPVOID lpSecurityDescriptor; //指向控制这个对象共享的安全描述符,如果为NULL这个对象将被分配一个缺省的安全描述

BOOL bInheritHandle; //当一个新过程被创建时,定义其返回是否是继承的.供系统API函数使用.

}SECURITY_ATTRIBUTES;

2. 填写创建子进程用的 STARTUPINFO 结构,一般我们可以先用 GetStartupInfo 来填写一个缺省的结构,然后改动我们用得到的地方,它们是:

hStdInput -- 用其中一个管道的 hWritePipe 代替 hStdOutput、hStdError -- 用另一个管道的 hReadPipe 代替 dwFlags -- 设置为 STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW 表示输入输出句柄及 wShowWindow 字段有效 wShowWindow -- 设置为 SW_HIDE,这样子进程执行时不显示窗口。 填写好以后,就可以用 CreateProcess 来执行子进程了,具体有关执行子进程的操作可以参考上一篇教程《进程控制》

3. 在程序中可以用 PeekNamedPipe 查询子进程有没有输出,原形如下:

BOOL PeekNamedPipe(

HANDLE hNamedPipe, // handle to pipe to copy from

LPVOID lpBuffer, // pointer to data buffer

DWORD nBufferSize, // size, in bytes, of data buffer

LPDWORD lpBytesRead, // pointer to number of bytes read

LPDWORD lpTotalBytesAvail, // pointer to total number of bytes available

LPDWORD lpBytesLeftThisMessage // pointer to unread bytes in this message

);

我们可以将尝试读取 nBuffersize 大小的数据,然后可以通过返回的 BytesRead 得到管道中有多少数据,如果不等于零,则表示有数据可以读取。

4. 用 ReadFile 和 WriteFile 来读写管道,它们的参数是完全一样的,原形如下:

ReadFile or WriteFile(

HANDLE hFile, // handle of file to read 在这里使用管道句柄

LPVOID lpBuffer, // address of buffer that receives data 缓冲区地址

DWORD nNumberOfBytesToRead, // number of bytes to read 准备读写的字节数

LPDWORD lpNumberOfBytesRead, // address of number of bytes read,实际读到的或写入的字节数

LPOVERLAPPED lpOverlapped // address of structure for data 在这里用 NULL

);

5. 用 CloseHandle 关闭管道一和管道二的 hReadPipe和 hWritePipe 这四个句柄。

下面给出了一个例子程序,这个程序是上篇教程《进程控制》的例子的扩充,如果你对有的 api 感到陌生的话,请先阅读上一篇教程。

查看详情

管道操作造价信息

  • 市场价
  • 信息价
  • 询价

使用说明

  • 品种:使用说明书;说明:全站仪配套;
  • 科力达
  • 13%
  • 吉林省通达测绘仪器有限公司
  • 2022-12-06
查看价格

使用说明

  • 品种:使用说明书;说明:电子经纬仪配套;
  • 科力达
  • 13%
  • 吉林省通达测绘仪器有限公司
  • 2022-12-06
查看价格

管道

  • 公称直径DN(mm):50,规格型号:24
  • m
  • 卓奥
  • 13%
  • 江苏卓奥节能设备安装工程有限公司浙江办事处
  • 2022-12-06
查看价格

管道式换气扇

  • DPT20-54B 风量:770m3/H;功率:0.145KW;噪声:35DB(A),风压:200PA
  • 雄吉通风
  • 13%
  • 重庆市雄吉通风设备股份有限公司
  • 2022-12-06
查看价格

健身器材使用说明

  • JQ-4107规格尺寸:981×880×1444mm
  • 进秋
  • 13%
  • 深圳市进秋体育设施有限公司
  • 2022-12-06
查看价格

环卫管道疏通机

  • 功率1.5(kW)
  • 台班
  • 韶关市2010年8月信息价
  • 建筑工程
查看价格

沥青混凝土摊铺机操作

  • 台·月
  • 佛山市2015年3季度信息价
  • 建筑工程
查看价格

沥青混凝土摊铺机操作

  • 台·月
  • 佛山市2015年5月信息价
  • 建筑工程
查看价格

沥青混凝土摊铺机操作

  • 台·月
  • 佛山市2015年1季度信息价
  • 建筑工程
查看价格

沥青混凝土摊铺机操作

  • 台·月
  • 佛山市2015年9月信息价
  • 建筑工程
查看价格

消火栓使用说明

  • 500×500
  • 368件
  • 3
  • 中高档
  • 含税费 | 含运费
  • 2022-06-27
查看价格

消防器材使用说明

  • 每个的规格:600×450mm,材质:户外写真贴裱5厘PVC板,详见大样图
  • 245.16m²
  • 3
  • 中高档
  • 含税费 | 含运费
  • 2022-11-15
查看价格

消火栓使用说明

  • 350×300mm
  • 42块
  • 3
  • 中高档
  • 含税费 | 含运费
  • 2021-07-20
查看价格

消火栓使用说明

  • 36×16
  • 7367个
  • 1
  • 普通
  • 不含税费 | 不含运费
  • 2015-12-02
查看价格

专家服务中心健身房使用说明

  • 250×350
  • 2件
  • 2
  • 不含税费 | 不含运费
  • 2015-03-11
查看价格

管道操作概述

管道是两个头的东西,每个头各连接一个进程或者同一个进程的不同代码,按照管道的类别分有两种管道,匿名的和命名的;按照管道的传输方向分也可以分成两种,单向的双向的。根据管道的特点,命名管道通常用在网络环境下不同计算机上运行的进程之间的通信(当然也可以用在同一台机的不同进程中)它可以是单向或双向的;而匿名管道只能用在同一台计算机中,它只能是单向的。匿名管道其实是通过用给了一个指定名字的有名管道来实现的。

使用管道的好处在于:读写它使用的是对文件操作的 api,结果操作管道就和操作文件一样。即使你在不同的计算机之间用命名管道来通信,你也不必了解和自己去实现网络间通信的具体细节。

查看详情

管道操作使用说明常见问题

查看详情

管道操作使用说明文献

造价注册管理系统操作使用说明 造价注册管理系统操作使用说明

造价注册管理系统操作使用说明

格式:pdf

大小:5.9MB

页数: 33页

水利工程造价工程师注册管理系统 操作使用说明 中 国 水 利 工 程 协 会 总参工程兵第四设计研究院 二○一四年七月 《水利工程造价工程师注册管理系统操作使用说明》 目 录 1 编写目的 ............................................................ 1 2 系统简介 ............................................................ 1 3 个人注册 ............................................................ 1 3.1 用户登录 ............................................................ 1 3.2 温馨提示 .................

造价信息报送系统操作使用说明 造价信息报送系统操作使用说明

造价信息报送系统操作使用说明

格式:pdf

大小:5.9MB

页数: 30页

水利工程造价工程师信息报送系统 操作使用说明 中 国 水 利 工 程 协 会 总参工程兵第四设计研究院 二零一五年九月 《水利工程造价工程师信息报送系统操作使用说明》 目 录 1 编写目的 . ..................................................................... 1 2 系统简介 . ..................................................................... 1 3 个人执业 . ..................................................................... 2 3.1 用户登录 ............................................................

图解管道安装操作技术简介

内容简介

《图解管道安装操作技术》是《图解管道安装系列丛书》的第一册,书中全面介绍了管道安装工程中的技术操作和安装要求。全书共分七章,内容包括管道加工及制作,管道连接,管道附件及其安装,支吊架制作及安装,管道起重吊装操作技术,管道试压、防腐、绝热,管道安装的安全技术。 《图解管道安装操作技术》内容实用性、操作性强,直观明了,通俗易懂,可作为刚刚走上工作岗位且又从事技术工作的大中专毕业生的必备书,也可供具有中级技术职称的技术人员和中级以上的技术工人及高等院校相关专业的师生参考。2100433B

查看详情

管道工操作技术要领图解内容简介

本书内容包括常用管材及管件、管道工常用机具、管道识图、各种管道安装的基本操作技术与工艺等9章。该书图文并茂,通俗易懂,言简意赅,适合中等职业学校、技工学校、青工培训班的管道工专业教学用书及管道工自学用书。

本书以实用、够用为原则,突出技能操作,以图解的形式,配以简明的文字来说明具体的操作过程与操作工艺,有很强的针对性和实用性,克服了传统培训教材中理论内容偏深、偏多、抽象的弊端,增添了“四新”知识,突出了理论与实践的结合,让学员既学到真本事,又可应对职业技能鉴定考试,体现了科学性和实用性。 本书介绍的内容是从业者应掌握的基本知识和基本操作技能,书中提供的典型实例都是成熟的操作工艺,便于学习者模仿和借鉴,减少学习弯路,使其能更方便、更好地运用到实际生产中去,是学习者从业和就业的良师益友。 2100433B

查看详情

管道疏通剂操作

1、将产品倒入40克左右,加入1公斤的水,等10分钟,等待管道疏通剂充分反应;

2、再倒入40克,加入1公斤的水,等10分钟;

3、等特20-30分钟,用大量的水冲即可疏通;

根据堵塞情况不同,具体的疏通方式不同。详见如下方法

示范方法一

1)厕所严重堵塞,滴水不漏,用皮搋子压走一部分。

2)然后在入口倒入40g左右管道疏通剂(轻微可适量减少用量),1个小时内会自动疏通。

3)1小时如果未通,用胶桶装满水对准入口直接冲撞,增加管道内压力,或者用皮搋子给与压力输通。

示范方法二

1)厕所堵塞,出水非常慢。

2)在入口位置倒入一瓶管道疏通剂,然后加约1公斤水,使产品充分溶解后会慢慢渗透到堵塞位置。

3)当水位降低后再加入适量的水,将管道疏通剂溶解液推到管道堵塞位置,1个小时后用大量水冲就会疏通。

示范方法三

1)洗菜,洗碗池堵塞先将软管从管内拨出。

2)在管口直接倒入40克绿伞管道通,加入一瓶矿泉水量的水。

3)倒入后用物体直接将管口压实,疏通剂溶解会产生约80-100度的高温,生成大量的气体,会将堵塞物体往下冲,几分钟后即可疏通。

查看详情

相关推荐

立即注册
免费服务热线: 400-888-9639