摘要
调整 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
因缺少系统内存而失败。
另请参阅
zx_vmo_create()
zx_vmo_get_size()
zx_vmo_get_stream_size()
zx_vmo_set_size()
zx_vmo_op_range()
zx_vmo_read()
zx_vmo_write()