ceramic lined pipe,簡稱:clp。指陶瓷內(nèi)襯復合管
SHS-self-propagating ceramic composite steel pipe and fittings, the new generation of wearable and corrosion resistant engineering pipeline, belongs to "863" Hi-tech Plan products. It is mainly used as grindable granule and corrosives in electric power, metallurgy, mining, coal, and chemical industry when transporting sandstone, coal fines, clinker, and aluminum liquid, etc. It is the ideal wearable and corrosion resistant engineering pipeline, with wear resistance 15 times higher than common steel pipe, smooth inner surface, and favorable liquor resistance.
Features:
High abrasion resistant:
Vickers hardness of the corundum lining is HV1100 to1500, as high as that of tungsten-cobalt hard alloys, and the abrasion resistance is 20 times as carbon steel pipes. Its rigidity is the highest among all oxides.
Corrosion resistant:
Corundum is a neutral material, and is acid-proof and fouling -free.
Heat resistant:
The pipe can work under circumstances of -50 to 800 degrees Celsius.
Convenient installation:
It is much lighter than any other types of composite pipes, and can be welded or connected through flanges.
Cost effective:
Ceramic-lined composite steel pipe can take the place of expensive stainless steel, titanium, nickel, cast stone or alloy pipes. Extended service life can also reduce maintenance cost.
Specifications:
Tube diameters:50 to 1020mm
Elbow angle: 22.5, 45, 60, 90, 120, 135, 150 degrees, etc.
Three way pipes: Y shaped, Y lateral and other special shapes
Four way pipes: straight cross, reducing cross.
Ceramic lining thickness (including transition layer): 3 to 8mm
Ex-works length: less than or equal to 3m. Customized maximum length can be achieved by welding.
We can also provide products of other customized sizes at your demand.
SHS自蔓延陶瓷復合鋼管及管件,是新一代耐磨耐腐蝕工程管道,屬于“863”高新技術(shù)產(chǎn)品。它主要是用來作為磨粒和腐蝕劑,在電力、冶金、礦山、煤炭、化工,運輸砂石、煤粉、灰渣、鋁液等是理想的耐磨、耐腐蝕的工程管線,耐磨性比普通鋼管的15倍,光滑的內(nèi)表面,并有利白酒類阻力。
特征:
高耐磨性:
剛玉內(nèi)襯的顯微硬度hv1100 1500,高的鎢鈷硬質(zhì)合金的耐磨性,是20倍的碳鋼管。它的硬度是所有氧化物中最高的。
耐腐蝕:
剛玉是一種中性物質(zhì),是耐酸和無污染的。
耐熱:
這種管道可以在攝氏50至800攝氏度的環(huán)境下工作。
安裝方便:
它比任何其他類型的復合管都輕得多,并且可以通過法蘭焊接或連接。
成本有效的:
陶瓷內(nèi)襯復合鋼管可以代替昂貴的不銹鋼、鈦、鎳、鑄鐵或合金管。延長使用壽命也可以降低維修成本。
規(guī)格:
管直徑:50 1020mm
手肘角度:22.5、45, 60, 90、120, 135, 150度等。
三通管:Y形、Y形等特殊形狀。
四通管:直交、減橫。
陶瓷內(nèi)襯厚度(包括過渡層):3~8mm
預制長度:小于或等于3m,可通過焊接達到定制的最大長度。
我們也可以根據(jù)您的要求提供其他定制尺寸的產(chǎn)品。
日本ceramic陶瓷刀的價格不貴。 鋒愛華商貿(mào)有限公司 , 材質(zhì) 氧化鋯,價格是155元。 青島海天樹國際貿(mào)易有限公司 , 型號 KC-14,報價是1...
celine墨鏡的價格不算貴,在深圳celine專賣店的報價為30元一副。celine墨鏡是在強光下保護眼睛的“勞?!庇闷?。戴這種鏡片可以阻擋紫外線和紅外線,同時外界環(huán)境的顏色并不改變,只有光線強度改...
stoneline鍋油煙少,不粘鍋,沒有涂層,挺好用的。 1、鍋具采用蜂巢凸點設(shè)計,沒有涂層的前提下輕松做到物理不粘 &n...
格式:pdf
大?。?span id="9jllhhb" class="single-tag-height">402KB
頁數(shù): 16頁
評分: 4.6
Production, Manufacturing and Logistics A fuzzy linear programming based approach for tactical supply chain planning in an uncertainty environment David Peidro a, * , Josefa Mula a , Mariano Jiménezb , Ma del Mar Botella c a Research Centre on Production Management and Engineering (CIGIP), Universidad Polit écnicade Valencia, Spain b Department of Applied Economy, Universidad del Pa?′sVasco, Spain
格式:pdf
大?。?span id="zltx3vp" class="single-tag-height">402KB
頁數(shù): 40頁
評分: 4.4
1. 前言 1.1. Web開發(fā)技術(shù)發(fā)展回顧 圖: 動態(tài) Web編程技術(shù)的發(fā)展歷史 隨著 Internet 技術(shù)的廣泛使用, Web技術(shù)已經(jīng)廣泛應用于 Internet 上,但早期的 Web應用全部是靜態(tài)的 HTML頁面,用于將一些文本信息呈現(xiàn)給瀏覽者, 但這些信息是固定 寫在 HTML頁面里的,該頁面不具備與用戶交互的能力,沒有動態(tài)顯示的功能。 很自然地,人們希望 Web 應用里應該包含一些能動態(tài)執(zhí)行的頁面,最早的 CGI(通用網(wǎng)關(guān) 接口)技術(shù)滿足了該要求, CGI 技術(shù)使得 Web 應用可以與客戶端瀏覽器交互,不再需要使 用靜態(tài)的 HTML頁面。CGI 技術(shù)可以從數(shù)據(jù)庫讀取信息, 將這些信息呈現(xiàn)給用戶; 還可以獲 取用戶的請求參數(shù),并將這些參數(shù)保存到數(shù)據(jù)庫里。 CGI 技術(shù)開啟了動態(tài) Web應用的時代,給了這種技術(shù)無限的可能性。但 CGI 技術(shù)存在 很多缺點,其中最大的缺點就是開發(fā)動態(tài)
pipe我們用中文叫做管道。
以下講解均是基于Linux為環(huán)境:
所需頭文件 #include<unistd.h>
函數(shù)原型 int pipe(int fd[2])
函數(shù)傳入值 fd[2]:管道的兩個文件描述符,之后就是可以直接操作這兩個文件描述符
返回值 成功 0 失敗 -1
管道是Linux 支持的最初Unix IPC形式之一,具有以下特點:
管道是半雙工的,數(shù)據(jù)只能向一個方向流動;需要雙方通信時,需要建立起兩個管道; 只能用于父子進程或者兄弟進程之間(具有親緣關(guān)系的進程); 單獨構(gòu)成一種獨立的文件系統(tǒng):管道對于管道兩端的進程而言,就是一個文件,但它不是普通的文件,它不屬于某種文件系統(tǒng),而是自立門戶,單獨構(gòu)成一種文件系統(tǒng),并且只存在于內(nèi)存中。數(shù)據(jù)的讀出和寫入:一個進程向管道中寫的內(nèi)容被管道另一端的進程讀出。寫入的內(nèi)容每次都添加在管道緩沖區(qū)的末尾,并且每次都是從緩沖區(qū)的頭部讀出數(shù)據(jù)。
#include <unistd.h>
int pipe(int fd[2])
該函數(shù)創(chuàng)建的管道的兩端處于一個進程中間,在實際應用中沒有太大意義,因此,一個進程在由pipe()創(chuàng)建管道后,一般再fork一個子進程,然后通過管道實現(xiàn)父子進程間的通信(因此也不難推出,只要兩個進程中存在親緣關(guān)系,這里的親緣關(guān)系指的是具有共同的祖先,都可以采用管道方式來進行通信)。
管道兩端可分別用描述字fd[0]以及fd[1]來描述,需要注意的是,管道的兩端是固定了任務(wù)的。即一端只能用于讀,由描述字fd[0]表示,稱其為管道讀端;另一端則只能用于寫,由描述字fd[1]來表示,稱其為管道寫端。如果試圖從管道寫端讀取數(shù)據(jù),或者向管道讀端寫入數(shù)據(jù)都將導致錯誤發(fā)生。一般文件的I/O函數(shù)都可以用于管道,如close、read、write等等。
如果管道的讀端不存在,則認為已經(jīng)讀到了數(shù)據(jù)的末尾,讀函數(shù)返回的讀出字節(jié)數(shù)為0; 當管道的讀端存在時,如果請求的字節(jié)數(shù)目大于PIPE_BUF,則返回管道中現(xiàn)有的數(shù)據(jù)字節(jié)數(shù),如果請求的字節(jié)數(shù)目不大于PIPE_BUF,則返回管道中現(xiàn)有數(shù)據(jù)字節(jié)數(shù)(此時,管道中數(shù)據(jù)量小于請求的數(shù)據(jù)量);或者返回請求的字節(jié)數(shù)(此時,管道中數(shù)據(jù)量不小于請求的數(shù)據(jù)量)。注:(PIPE_BUF在include/linux/limits.h中定義,不同的內(nèi)核版本可能會有所不同。Posix.1要求PIPE_BUF至少為512字節(jié),red hat 7.2中為4096)。
關(guān)于管道的讀規(guī)則驗證:
/**************
* readtest.c *
**************/
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
main()
{
int pipe_fd[2];
pid_t pid;
char r_buf[100];
char w_buf[4];
char* p_wbuf;
int r_num;
int cmd;
memset(r_buf,0,sizeof(r_buf));
memset(w_buf,0,sizeof(w_buf));
p_wbuf=w_buf;
if(pipe(pipe_fd)<0)
{
printf("pipe create error ");
return -1;
}
if((pid=fork())==0)
{
printf(" ");
close(pipe_fd[1]);
sleep⑶;//確保子進程關(guān)閉寫端
r_num=read(pipe_fd[0],r_buf,100);
printf("read num is %d the data read from the pipe is %d ",r_num,atoi(r_buf));
close(pipe_fd[0]);
exit();
}
else if(pid>0)
{
close(pipe_fd[0]);//read
strcpy(w_buf,"111");
if(write(pipe_fd[1],w_buf,4)!=-1)
printf("parent write over ");
close(pipe_fd[1]);//write
printf("parent close fd[1] over ");
sleep⑽;
}
}
/**************************************************
* 程序輸出結(jié)果:
* parent write over
* parent close fd[1] over
* read num is 4 the data read from the pipe is 111
* 附加結(jié)論:
* 管道寫端關(guān)閉后,寫入的數(shù)據(jù)將一直存在,直到讀出為止.
****************************************************/
向管道中寫入數(shù)據(jù):
向管道中寫入數(shù)據(jù)時,linux將不保證寫入的原子性,管道緩沖區(qū)一有空閑區(qū)域,寫進程就會試圖向管道寫入數(shù)據(jù)。如果讀進程不讀走管道緩沖區(qū)中的數(shù)據(jù),那么寫操作將一直阻塞。
對于沒有設(shè)置阻塞標志的寫操作:(1)當要寫入的數(shù)據(jù)量不大于PIPE_BUF時,Linux將保證寫入的原子性。如果當前FIFO空閑緩沖區(qū)能夠容納請求寫入的字節(jié)數(shù),寫完后成功返回;如果當前FIFO空閑緩沖區(qū)不能夠容納請求寫入的字節(jié)數(shù),則返回EAGAIN錯誤,提醒以后再寫。(2)當要寫入的數(shù)據(jù)量大于PIPE_BUF時,Linux將不再保證寫入的原子性。在寫滿所有FIFO空閑緩沖區(qū)后,寫操作返回。
注:只有在管道的讀端存在時,向管道中寫入數(shù)據(jù)才有意義。否則,向管道中寫入數(shù)據(jù)的進程將收到內(nèi)核傳來的SIGPIPE信號,應用程序可以處理該信號,也可以忽略(默認動作則是應用程序終止)。
對管道的寫規(guī)則的驗證1:寫端對讀端存在的依賴性
#include <unistd.h>
#include <sys/types.h>
main()
{
int pipe_fd[2];
pid_t pid;
char r_buf[4];
char* w_buf;
int writenum;
int cmd;
memset(r_buf,0,sizeof(r_buf));
if(pipe(pipe_fd)<0)
{
printf("pipe create error ");
return -1;
}
if((pid=fork())==0)
{
close(pipe_fd[0]);
close(pipe_fd[1]);
sleep⑽;
exit();
}
else if(pid>0)
{
sleep⑴; //等待子進程完成關(guān)閉讀端的操作
close(pipe_fd[0]);//write
w_buf="111";
if((writenum=write(pipe_fd[1],w_buf,4))==-1)
printf("write to pipe error ");
else
printf("the bytes write to pipe is %d ",writenum);
close(pipe_fd[1]);
}
}
則輸出結(jié)果為:Broken pipe,原因就是該管道以及它的所有fork()產(chǎn)物的讀端都已經(jīng)被關(guān)閉。如果在父進程中保留讀端,即在寫完pipe后,再關(guān)閉父進程的讀端,也會正常寫入pipe,讀者可自己驗證一下該結(jié)論。因此,在向管道寫入數(shù)據(jù)時,至少應該存在某一個進程,其中管道讀端沒有被關(guān)閉,否則就會出現(xiàn)上述錯誤(管道斷裂,進程收到了SIGPIPE信號,默認動作是進程終止)
對管道的寫規(guī)則的驗證2:linux不保證寫管道的原子性驗證
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
main(int argc,char**argv)
{
int pipe_fd[2];
pid_t pid;
char r_buf[4096];
char w_buf[4096*2];
int writenum;
int rnum;
memset(r_buf,0,sizeof(r_buf));
if(pipe(pipe_fd)<0)
{
printf("pipe create error ");
return -1;
}
if((pid=fork())==0)
{
close(pipe_fd[1]);
while⑴
{
sleep⑴;
rnum=read(pipe_fd[0],r_buf,1000);
printf("child: readnum is %d ",rnum);
}
close(pipe_fd[0]);
exit();
}
else if(pid>0)
{
close(pipe_fd[0]);//write
memset(r_buf,0,sizeof(r_buf));
if((writenum=write(pipe_fd[1],w_buf,1024))==-1)
printf("write to pipe error ");
else
printf("the bytes write to pipe is %d ",writenum);
writenum=write(pipe_fd[1],w_buf,4096);
close(pipe_fd[1]);
}
}
輸出結(jié)果:
the bytes write to pipe is 1000
the bytes write to pipe 4096
child: readnum is 1000 //注意,此行輸出說明了寫入的非原子性
child: readnum is pipe 1000
child: readnum is pipe 1000
child: readnum is pipe 1000
child: readnum is pipe 1000
child: readnum is pipe 120 //注意,此行輸出說明了寫入的非原子性
child: readnum is pipe 0
child: readnum is pipe 0
......
結(jié)論:
寫入數(shù)目小于4096時寫入是非原子的!
如果把父進程中的兩次寫入字節(jié)數(shù)都改為5000,則很容易得出下面結(jié)論:
寫入管道的數(shù)據(jù)量大于4096字節(jié)時,緩沖區(qū)的空閑空間將被寫入數(shù)據(jù)(補齊),直到寫完所有數(shù)據(jù)為止,如果沒有進程讀數(shù)據(jù),則一直阻塞。
實例一:用于shell
管道可用于輸入輸出重定向,它將一個命令的輸出直接定向到另一個命令的輸入。比如,當在某個shell程序(Bourne shell或C shell等)鍵入who│wc -l后,相應shell程序?qū)?chuàng)建who以及wc兩個進程和這兩個進程間的管道??紤]下面的命令行:
$kill -l 運行結(jié)果見附一。
$kill -l | grep SIGRTMIN 運行結(jié)果如下:
30) SIGPWR 31) SIGSYS 32) SIGRTMIN 33) SIGRTMIN+1
34) SIGRTMIN+2 35) SIGRTMIN+3 36) SIGRTMIN+4 37) SIGRTMIN+5
38) SIGRTMIN+6 39) SIGRTMIN+7 40) SIGRTMIN+8 41) SIGRTMIN+9
42) SIGRTMIN+10 43) SIGRTMIN+11 44) SIGRTMIN+12 45) SIGRTMIN+13
46) SIGRTMIN+14 47) SIGRTMIN+15 48) SIGRTMAX-15 49) SIGRTMAX-14
實例二:用于具有親緣關(guān)系的進程間通信
下面例子給出了管道的具體應用,父進程通過管道發(fā)送一些命令給子進程,子進程解析命令,并根據(jù)命令作相應處理。
#include <unistd.h>
#include <sys/types.h>
main()
{
int pipe_fd[2];
pid_t pid;
char r_buf[4];
char* w_buf[256];
int childexit=0;
int i;
int cmd;
memset(r_buf,0,sizeof(r_buf));
if(pipe(pipe_fd)<0)
{
printf("pipe create error ");
return -1;
}
if((pid=fork())==0)
//子進程:解析從管道中獲取的命令,并作相應的處理
{
printf(" ");
close(pipe_fd[1]);
sleep⑵;
while(!childexit)
{
read(pipe_fd[0],r_buf,4);
cmd=atoi(r_buf);
if(cmd==0)
{
printf("child: receive command from parent over now child process exit ");
childexit=1;
}
else if(handle_cmd(cmd)!=0)
return;
sleep⑴;
}
close(pipe_fd[0]);
exit();
}
else if(pid>0)
//parent: send commands to child
{
close(pipe_fd[0]);
w_buf[0]="003";
w_buf[1]="005";
w_buf[2]="777";
w_buf[3]="000";
for(i=0;i<4;i++)
write(pipe_fd[1],w_buf[i],4);
close(pipe_fd[1]);
}
}
//下面是子進程的命令處理函數(shù)(特定于應用):
int handle_cmd(int cmd)
{
if((cmd<0)||(cmd>256))
//suppose child only support 256 commands
{
printf("child: invalid command ");
return -1;
}
printf("child: the cmd from parent is %d ",cmd);
return 0;
}
PIPENET簡介
PIPENET系列產(chǎn)品包括標準模塊、消防模塊以及瞬態(tài)模塊,其中每個模塊都是獨立運行的軟件。
PIPENET管網(wǎng)流體分析軟件起源于七十年代的劍橋大學。1979年,劍橋大學計算機中心將其收購并命名為PIPENET,1985年SUNRISE SYSTEMS LIMITED公司成立,獨立進行PIPENET軟件的研發(fā)和拓展。PIPENET系列軟件具有廣泛的工業(yè)用途,具備強大的工程管網(wǎng)系統(tǒng)的數(shù)值計算、模擬仿真和系統(tǒng)優(yōu)化等功能。能夠使工程管網(wǎng)系統(tǒng)的設(shè)計更科學、更合理、更經(jīng)濟、更安全;同時有效地提高設(shè)計效率、增加工程收益、降低事故發(fā)生率。
PIPENET系列產(chǎn)品包括標準模塊、消防模塊以及瞬態(tài)模塊,其中每個模塊都是獨立運行的軟件。
PIPENET標準模塊用于工業(yè)管網(wǎng)穩(wěn)態(tài)設(shè)計的數(shù)值計算及模擬仿真。其具體功能包括:管徑選型;泵、閥、孔板等設(shè)備選型;流場計算(系統(tǒng)各部件的壓力、壓損、流量、流速等);異常工況(堵、漏等)的模擬;系統(tǒng)圓整優(yōu)化;便捷的數(shù)據(jù)讀入和輸出等。
PIPENET消防模塊用于消防管網(wǎng)穩(wěn)態(tài)設(shè)計的數(shù)值計算及模擬仿真,遵循國際公認和常用的各種消防規(guī)范(如NFPA美國消防規(guī)范、FOC英聯(lián)邦國家消防規(guī)范、GB國標消防規(guī)范等),并符合上述規(guī)范對各行業(yè)消防系統(tǒng)設(shè)計的嚴格而特殊的各種強制性計算和布置要求,同時生成國際通用的NFPA格式的消防計算書。
PIPENET瞬態(tài)模塊又分為普通管網(wǎng)的瞬態(tài)模塊和消防管網(wǎng)的瞬態(tài)模塊,分別用于工業(yè)管網(wǎng)和消防管網(wǎng)的動態(tài)分析、模擬仿真和數(shù)值計算。其具體功能包括:水錘(汽錘)分析、管道振動分析、動態(tài)力的數(shù)值計算、泵閥的啟停設(shè)計、控制系統(tǒng)的動態(tài)響應模擬、關(guān)鍵設(shè)備(安全閥、蓄能器、真空破壞閥、箱體等等)的選型和動態(tài)響應模擬等等,并提供數(shù)值計算報告、動態(tài)力的計算數(shù)值輸出、波形圖的輸出、編輯、比對等功能。
與其他同類軟件相比,PIPENET軟件有以下的特點:
PIPENET軟件是面向工程設(shè)計單位研發(fā)設(shè)計的專業(yè)工程管網(wǎng)計算分析軟件,具體表現(xiàn)為:在軟件的界面視圖、內(nèi)置模型、軟件功能的設(shè)計、各種邊界條件所需參數(shù)、計算結(jié)果的輸出等等各方面均結(jié)合了工程設(shè)計的特點和需求。
PIPENET軟件通過了二、三十年的不斷拓展更新,具備了界面友好簡捷、軟件功能強大、所需參數(shù)便于獲得、易學易用等顯著的特點。
PIPENET模型采用類似工藝流程圖的示意性模型,并采用集中參數(shù)法。將彎頭、三通、閘閥、蝶閥等沒有操作動作的管道元件或裝置作為管道的阻力參數(shù)輸入,需要做修改時,只需修改參數(shù),而無需修改模型,大幅提高設(shè)計效率。
PIPENET軟件以計算和模擬復雜管網(wǎng)著稱,可以計算和模擬各種復雜的管網(wǎng)系統(tǒng)以及環(huán)網(wǎng)系統(tǒng),其計算功能不受環(huán)網(wǎng)的個數(shù)和復雜程度的限制。
目前PIPENET消防模塊是國際工程界獨一無二的消防水力計算軟件,與市場上流通的其他水力計算軟件(包括PIPENET標準模塊 )相比,PIPENET消防模塊使用消防規(guī)范特殊的阻力計算公式,并滿足消防系統(tǒng)設(shè)計的專業(yè)算法與布置要求,而且將計算報告生成專業(yè)格式(NFPA格式)的消防計算書。
動態(tài)力是由水錘(汽錘)現(xiàn)象導致的沿管向游竄的瞬間不平衡力,通常稱為水錘力(汽錘力),該力的瞬間動量非常大,足以破壞管道系統(tǒng)或結(jié)構(gòu)。PIPENET可計算動態(tài)力并生成時間與力的計算結(jié)果,并將結(jié)果生成.FRC文檔,傳遞給管道應力分析軟件,做結(jié)構(gòu)分析及阻尼器的設(shè)計。
PIPENET瞬態(tài)模塊有TURBO PUMP模型,不僅可以模擬泵的正常工況,還可以模擬泵啟動和停泵倒轉(zhuǎn)的全工況。
由于TURBO PUMP模型需要SUTER CURVE等不易獲取的參數(shù)信息,PIPENET瞬態(tài)模塊研發(fā)了獨有的INERTIAL PUMP模型,可以利用廠家所能提供的參數(shù)信息,模擬啟泵和停泵的工況。
PIPENET瞬態(tài)模塊可以為安全閥、呼吸閥、壓力容器等在動態(tài)工況下工作的關(guān)鍵設(shè)備進行動態(tài)設(shè)備選型,使設(shè)備的型號更準確、更安全、更經(jīng)濟。
PIPENET瞬態(tài)模塊可模擬工程中常用的各種控制系統(tǒng),以及控制系統(tǒng)在整個管網(wǎng)系統(tǒng)中的動態(tài)響應,可將大量的予調(diào)試工作在設(shè)計階段完成,縮短工程建造的調(diào)試周期。
PIPENET軟件與PDS /PDMS軟件有接口,通過接口,可直接將管路的三維模型讀成PIPENET模型,添加上所需的邊界條件就可進行計算。拓展了PIPENET軟件的應用范圍。
PIPENET軟件與Caesar II軟件有接口,可將PIPENET動態(tài)力的計算結(jié)果傳遞給結(jié)構(gòu)分析軟件進行支吊架的設(shè)計以及阻尼器的設(shè)計。
CreateNamedPipe
VB聲明
Declare Function CreateNamedPipe Lib "kernel32" Alias "CreateNamedPipeA" (ByVal lpName As String, ByVal dwOpenMode As Long, ByVal dwPipeMode As Long, ByVal nMaxInstances As Long, ByVal nOutBufferSize As Long, ByVal nInBufferSize As Long, ByVal nDefaultTimeOut As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long
說明
創(chuàng)建一個命名管道。返回的句柄由管道的服務(wù)器端使用
返回值
Long,如執(zhí)行成功,返回管道的句柄。INVALID_HANDLE_VALUE表示失敗。會設(shè)置GetLastError
參數(shù)表
參數(shù) 類型及說明
lpName String,指定管道名,采用的形式是:\\.\管道\管道名。最多可達256個字符的長度,而且不用區(qū)分大小寫。如果存在指定名字的一個管道,則創(chuàng)建那個管道的一個新實例
dwOpenMode Long,下述常數(shù)組的一個組合
下述常數(shù)之一(對于管道的所有實例都要一樣):
PIPE_ACCESS_DUPLEX 管道是雙向的
PIPE_ACCESS_INBOUND 數(shù)據(jù)從客戶端流到服務(wù)器端
PIPE_ACCESS_OUTBOUND 數(shù)據(jù)從服務(wù)器端流到客戶端
下述常數(shù)的任意組合
FILE_FLAG_WRITE_THROUGH 在網(wǎng)絡(luò)中建立的字節(jié)型管道內(nèi),強迫數(shù)據(jù)在每次讀寫操作的時候通過網(wǎng)絡(luò)傳輸。否則傳輸就可能延遲
FILE_FLAG_OVERLAPPED 允許(但不要求)用這個管道進行異步(重疊式)操作
常數(shù)WRITE_DAC, WRITE_OWNER 和 ACCESS_ SYSTEM_SECURITY提供了附加的安全選項
dwPipeMode Long,下述常數(shù)組的一個組合:
下述常數(shù)之一(管道的所有實例都必須指定相同的常數(shù))
PIPE_TYPE_BYTE 數(shù)據(jù)作為一個連續(xù)的字節(jié)數(shù)據(jù)流寫入管道
PIPE_TYPE_MESSAGE 數(shù)據(jù)用數(shù)據(jù)塊(名為"消息"或"報文")的形式寫入管道
下述常數(shù)之一:
PIPE_READMODE_BYTE 數(shù)據(jù)以單獨字節(jié)的形式從管道中讀出
PIPE_READMODE_MESSAGE 數(shù)據(jù)以名為"消息"的數(shù)據(jù)塊形式從管道中讀出(要求指定PIPE_TYPE_MESSAGE)
下述常數(shù)之一:
PIPE_WAIT 同步操作在等待的時候掛起線程
PIPE_NOWAIT(不推薦!) 同步操作立即返回。這樣可為異步傳輸提供一種落后的實現(xiàn)方法,已由Win32的重疊式傳輸機制取代了
nMaxInstances Long,這個管道能夠創(chuàng)建的最大實例數(shù)量。必須是1到常數(shù)PIPE_UNLIMITED_INSTANCES間的一個值。它對于管道的所有實例來說都應是相同的
nOutBufferSize Long,建議的輸出緩沖區(qū)長度;零表示用默認設(shè)置
nInBufferSize Long,建議的輸入緩沖區(qū)長度;零表示用默認設(shè)置
nDefaultTimeOut Long,管道的默認等待超時。對一個管道的所有實例來說都應相同
lpSecurityAttributes SECURITY_ATTRIBUTES,指定一個SECURITY_ATTRIBUTES結(jié)構(gòu),或者傳遞零值(將參數(shù)聲明為ByVal As Long,并傳遞零值),以便使用不允許繼承的一個默認描述符