zx_channel_create
名称
channel_create —— 创建channel
概要
#include <zircon/syscalls.h>
zx_status_t zx_channel_create(uint32_t options,
zx_handle_t* out0, zx_handle_t* out1);
描述
channel_create() 创建一个双向数据报式的消息传输通道,能够从一侧向另一侧发送原始字节数据和句柄。
调用成功则返回两个句柄,分别提供对通道两侧的访问,写入一个句柄的消息可以在相反的方向上被读取。
返回的句柄具有ZX_RIGHT_TRANSFER(允许它们通过写入channel发送到另一个进程),ZX_RIGHT_WRITE(允许将消息写入它们)和ZX_RIGHT_READ(允许从它们中读取消息)权限。
权限
TODO(ZX-2399)
返回值
channel_create() 调用成功则返回ZX_OK。如果发生错误,则返回负的错误码。
错误码
ZX_ERR_INVALID_ARGS: out0或out1是无效指针或NULL,或options是0以外的其它任何值。
ZX_ERR_NO_MEMORY:由于内存不足导致的失败。而用户空间无法处理这个(不太可能发生的)错误。在将来的构建版本中,将不再出现此错误。
另见
handle_close,handle_duplicate,handle_replace,object_wait_one,object_wait_many,channel_call,channel_read,channel_write。