摘要
创建频道。
声明
#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 是无效的指针、NULL 或
options 是 0 以外的任何值。
ZX_ERR_NO_MEMORY
因内存不足而失败。
用户空间没有好办法处理这种(不太可能)错误。
在将来的版本中,此错误不会再发生。
另请参阅
zx_channel_call()
zx_channel_read()
zx_channel_write()
zx_handle_close()
zx_handle_replace()
zx_object_wait_async()
zx_object_wait_many()
zx_object_wait_one()