亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

管道(Pipe)/createPipe

系統 2542 0

? BOOL CreatePipe(PHANDLE hReadPipe, // 指向讀句柄的指針
 PHANDLE hWritePipe, // 指向寫句柄的指針
 LPSECURITY_ATTRIBUTES lpPipeAttributes, // 指向安全屬性的指針
 DWORD nSize // 管道大小);

管道(Pipe)實際是用于進程間通信的一段共享內存,創建管道的進程稱為管道server,連接到一個管道的進程為管道客戶機。一個進程在向管道寫入數據后,還有一進程就能夠從管道的還有一端將其讀取出來。匿名管道(Anonymous Pipes)是在父進程和子進程間單向數據傳輸的一種未命名的管道,僅僅能在本地計算機中使用,而不可用于網絡間的通信。

管道server將lpPipeAttributes 指向的SECURITY_ATTRIBUTES數據結構的數據成員bInheritHandle設置為TRUE,那么CreatePipe()創建的管道讀、寫句柄將會被繼承

父進程能夠調用進程創建函數CreateProcess()生成子進程。假設父進程要發送數據到子進程,父進程可調用WriteFile()將數據寫入到管道(傳遞管道寫句柄給函數),子進程則調用GetStdHandle()取得管道的讀句柄,將該句柄傳入ReadFile()后從管道讀取數據。
  假設是父進程從子進程讀取數據,那么由子進程調用GetStdHandle()取得管道的寫入句柄,并調用WriteFile()將數據寫入到管道。然后,父進程調用ReadFile()從管道讀取出數據(傳遞管道讀句柄給函數)。

在用WriteFile()函數向管道寫入數據時,僅僅有在向管道寫完指定字節的數據后或是在有發生錯誤時函數才會返回。如管道緩沖已滿而數據還沒有寫完,WriteFile()將要等到還有一進程對管道中數據讀取以釋放出很多其它可用空間后才可以返回。管道server在調用CreatePipe()創建管道時以參數nSize對管道的緩沖大小作了設定。
  匿名管道并不支持異步讀、寫操作,這也就意味著不能在匿名管道中使用ReadFileEx()和WriteFileEx(),并且ReadFile()和WriteFile()中的lpOverLapped參數也將被忽略。匿名管道將在讀、寫句柄都被關閉后退出,也能夠在進程中調用CloseHandle()函數來關閉此句柄。

管道(Pipe)/createPipe


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产在线播放一区 | 日日草夜夜草 | 国产小呦| 午夜骚 | 在线视频综合视频免费观看 | 日韩中文字幕久久精品 | 天天摸夜夜添狠狠添2018 | 日韩美女视频一区 | 综合久久综合久久 | 色婷婷5月精品久久久久 | 国产呦系列 欧美呦 日韩呦 | 特黄特级毛片免费视 | 欧美在线成人午夜影视 | 在线观看黄色网 | 免费国产成人高清在线观看麻豆 | 欧洲亚洲一区二区三区 | 国产成人亚洲精品无广告 | 午夜香蕉 | 亚洲视频一二区 | 女人十六毛片 | 激情欧美一区二区三区中文字幕 | 国产精品社区 | h视频网站在线观看 | 亚洲视频中文字幕在线观看 | 久草热线视频 | 国产一级淫片a免费播放口欧美 | 91亚洲国产在人线播放午夜 | 天天干天天干 | 亚洲国产综合精品中文第一区 | 亚洲视频在线a视频 | 99久久国产综合精品女小说 | 国产乱在线观看视频 | 综合激情网站 | 成人在线观看一区 | 香蕉视频一级 | 91播放| 免费男女网站 | 久久青草91线频免费观看 | 欧美日韩激情在线 | 亚洲欧美日韩中文v在线 | 91精品全国免费观看老司机 |