摘要
创建一个新的分页器对象。
声明
#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
因内存不足而失败。