总结
创建一个新的分页器对象。
声明
#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,通过 zx_pager_detach_vmo()
分离 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
:因内存不足而失败。