Skip to content

Latest commit

 

History

History
84 lines (60 loc) · 2.78 KB

vmo_write.md

File metadata and controls

84 lines (60 loc) · 2.78 KB

zx_vmo_write


英文原文快照


名称

vmo_write —— 向VMO写入字节

概要

#include <zircon/syscalls.h>

zx_status_t zx_vmo_write(zx_handle_t handle, const void* buffer,
                         uint64_t offset, size_t buffer_size);

描述

vmo_write() 的功能时试图将buffer_size字节写入VMO的offset位移处。

buffer是指向用户缓冲区的指针,用于字节写入。

buffer_size是试图写入的字节数。

权限

TODO(ZX-2399)

返回值

zx_vmo_write() 调用成功则返回ZX_OK,并且将写入从buffer读取的buffer_size字节的数据。 如果发生错误,则返回负的错误码,且写入的字节数是不确定的。

错误码

ZX_ERR_BAD_HANDLEhandle是无效句柄。

ZX_ERR_WRONG_TYPEhandle不是VMO类型的句柄。

ZX_ERR_ACCESS_DENIEDhandle不具有ZX_RIGHT_WRITE权限。

ZX_ERR_INVALID_ARGSbuffer是无效指针或NULL

ZX_ERR_NO_MEMORY:无法分配足够系统内存以完成写入操作。

ZX_ERR_OUT_OF_RANGEoffset大于或等于VMO结束位置,或者VMO大小小于buffer_size

ZX_ERR_BAD_STATE:VMO已标记为未缓存,无法直接写入。

另见

vmo_create, vmo_clone, vmo_read, vmo_get_size, vmo_set_size, vmo_op_range. vmo_set_cache_policy