摘要
建立管道。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_channel_create(uint32_t options,
                              zx_handle_t* out0,
                              zx_handle_t* out1);
說明
zx_channel_create() 可建立雙向管道
能傳送原始資料位元組的資料元樣式訊息傳輸功能
以及雙向的控制按鈕
系統成功後會傳回兩個帳號代碼,供使用者存取兩側 管道。寫入至某個帳號代碼的訊息可能會讀取以下地址: 反之亦然
帳號代碼將具備以下權利:
- ZX_RIGHT_TRANSFER:允許透過以下項目傳送至其他程序:- zx_channel_write()。
- ZX_RIGHT_WAIT:允許一個使用者等待信號。
- ZX_RIGHT_INSPECT
- ZX_RIGHT_READ:允許從訊息讀取訊息。
- ZX_RIGHT_WRITE:允許寫入訊息。
- ZX_RIGHT_SIGNAL
- ZX_RIGHT_SIGNAL_PEER
權限
呼叫端工作政策必須允許 ZX_POL_NEW_CHANNEL。
傳回值
zx_channel_create() 會在成功時傳回 ZX_OK。活動
失敗時,系統會傳回負錯誤值。
錯誤
ZX_ERR_INVALID_ARGS  out0 或 out0 是無效的指標、空值或
options 是 0 以外的任何值。
ZX_ERR_NO_MEMORY 因記憶體不足而失敗。
使用者空間無法妥善處理這種 (異常) 錯誤。
在日後的版本中不會再發生這個錯誤。