zx_vmo_set_stream_size

摘要

调整 VMO 对象的流的大小。

声明

#include <zircon/syscalls.h>

zx_status_t zx_vmo_set_stream_size(zx_handle_t handle, uint64_t size);

说明

zx_vmo_set_stream_size(),用于更改虚拟内存的流大小 对象 (VMO)。

与 VMO 大小不同,数据流大小不会向上舍入到下一个页面大小边界,因此 视频流的大小不一定与页面对齐您也可以在 不可调整大小的 VMO。无法使用此函数更改 VMO 大小,但可以使用 zx_vmo_set_size() 用于更改 VMO 大小

信息流大小增加时,范围为从原始(较小)流大小到结束 VMO 为零。

流大小变小时,新(较小)流大小与 VMO 为零。

如果 VMO 在这些范围内有任何现有数据,这些数据将被此 操作。

权限

handle 的类型必须为 ZX_OBJ_TYPE_VMO 且包含 ZX_RIGHT_WRITE

返回值

如果成功,zx_vmo_set_stream_size() 会返回 ZX_OK。在活动中 则会返回负的错误值。

错误

ZX_ERR_BAD_HANDLE handle 不是有效的句柄。

ZX_ERR_WRONG_TYPE handle 不是 VMO 句柄。

ZX_ERR_ACCESS_DENIED 句柄没有 ZX_RIGHT_WRITE 权限。

ZX_ERR_OUT_OF_RANGE请求的大小过大,或音频流大小超过 VMO 大小。

ZX_ERR_NO_MEMORY 因缺少系统内存而失败。

另请参阅