zx_channel_create

摘要

建立管道。

宣告

#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 out0out0 是無效的指標、空值或 options 是 0 以外的任何值。

ZX_ERR_NO_MEMORY 因記憶體不足而失敗。 使用者空間無法妥善處理這種 (異常) 錯誤。 在日後的版本中不會再發生這個錯誤。

另請參閱