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 的數值為 0

減少串流大小時,新的 (較小) 串流大小與結束串流 VMO 為零。

如果這些範圍內的 VMO 中有任何現有資料,系統將覆寫這個範圍 作業。

權限

handle 必須是 ZX_OBJ_TYPE_VMO 類型,且具有 ZX_RIGHT_WRITE

傳回值

zx_vmo_set_stream_size() 會在成功時傳回 ZX_OK。活動 失敗時,系統會傳回負錯誤值。

錯誤

ZX_ERR_BAD_HANDLE 帳號代碼不是有效的帳號代碼。

ZX_ERR_WRONG_TYPE 帳號代碼不是 VMO 控制代碼。

ZX_ERR_ACCESS_DENIED 帳號代碼沒有 ZX_RIGHT_WRITE 的權利。

ZX_ERR_OUT_OF_RANGE 要求的大小過大,或是串流大小超過 VMO 大小。

ZX_ERR_NO_MEMORY 因缺少系統記憶體而失敗。

另請參閱