摘要
对 IOBuffer 区域执行中介写入。
声明
#include <zircon/syscalls/iob.h>
zx_status_t zx_iob_write(zx_handle_t handle,
zx_iob_write_options_t options,
uint32_t region_index,
const zx_iovec_t* vectors,
size_t num_vectors);
说明
对 IOBuffer 区域执行中介写入。
options
必须为零。
用于与该区域交互的 IOBuffer 句柄必须接受中介写入权限。
字节数上限为 65535 字节,包括学科可能要求的任何标头,并且矢量不得超过 8 个。
返回值
成功后,系统会根据学科的语义将数据写入指定区域。
错误
ZX_ERR_ACCESS_DENIED
IOB 句柄没有写入权限,或者相应的区域没有中介写入权限。
ZX_ERR_BAD_HANDLE
handle 不是有效的句柄。
ZX_ERR_INVALID_ARGS
options
不为零(目前不支持任何非默认选项),要写入的数据量超出限制,或者矢量无效。
ZX_ERR_IO_DATA_INTEGRITY
区域已损坏。
ZX_ERR_NOT_FOUND
向量无效(例如指向无效内存)。
ZX_ERR_NO_SPACE
区域没有足够的空间来写入消息。
ZX_ERR_OUT_OF_RANGE
region_index
超出了区域索引上限。
ZX_ERR_WRONG_TYPE
句柄不是 IOBuffer 句柄,或者相应区域不符合所需的纪律。