摘要
建立新的 Pager 物件。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_pager_create(uint32_t options, zx_handle_t* out);
說明
zx_pager_create()
會建立新的分頁器物件。
呼叫器物件遭到刪除時,對於 VMO 的所有存取作業都必須進行溝通
呼叫的網頁工具就會因為呼叫 zx_pager_detach_vmo()
而失敗。此外,核心
會盡力確保問題盡快發生 (例如移除
所出現的網頁),但實際的運作情形則需視導入方式而定。
傳回的帳號代碼將具備下列權利:
- ZX_RIGHT_TRANSFER
- 帳號代碼可轉移至其他程序。
- ZX_RIGHT_INSPECT
- 可透過 zx_object_get_info()
檢查。
- ZX_RIGHT_ATTACH_VMO
- 可能會透過 zx_pager_create_vmo()
連接 VMO,並將 VMO 卸離
zx_pager_detach_vmo()
。
- ZX_RIGHT_MANAGE_VMO
- 可能會變更自有 VMO 的內容或呼叫器相關中繼資料,例如
搭配 zx_pager_supply_pages()
或 zx_pager_op_range()
。
權限
呼叫端工作政策必須允許 ZX_POL_NEW_PAGER
。
傳回值
zx_pager_create()
會在成功時傳回 ZX_OK,否則會在失敗時傳回下列其中一個錯誤代碼。
錯誤
ZX_ERR_INVALID_ARGS
「out」是無效的指標、NULL 或 options 為
0 以外的任何值。
ZX_ERR_NO_MEMORY
因記憶體不足而失敗。