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

管道(Pipe)/createPipe

系統 2220 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條評論
主站蜘蛛池模板: 青青青青青国产费线在线观看 | 欧美日韩无线码在线观看 | 免费精品一区二区三区在线观看 | 国产色婷婷精品综合在线 | 性生活视频免费观看 | 中文字幕一区视频 | 四虎资源 | 四虎欧美 | 国产亚洲精品久久久久久牛牛 | 毛片爱爱 | 免费爱爱小视频 | 全部免费国产潢色一级 | 亚洲国产欧美一区二区欧美 | 五月婷婷色网 | 色视频2| av天天看 | 亚洲日本免费 | se在线观看 | 成人精品一区二区www | 中文字幕一区日韩在线视频 | 国产免费青青青免费视频观看 | 视频一区视频二区在线观看 | 精品一区二区三区三区 | 四虎国产精品永久在线 | 青草视频.com | 久久久久久久久中文字幕 | 国产欧美在线观看视频 | 一级毛片高清免费播放 | 国产在线观看不卡 | 成人99国产精品 | 噜噜嘿在线视频免费观看 | 免费一级大毛片a一观看不卡 | 欧美成人国产一区二区 | 国产香蕉98碰碰久久人人 | a毛片a毛片a视频 | 成人欧美一区二区三区在线 | 中文字幕不卡一区2021 | 97色在线视频 | 精品欧美一区二区三区在线 | 黄在线免费看 | 国产亚洲精品久久久久久牛牛 |