zx_handle_replace


英文原文快照


名称

handle_replace —— 替换句柄

概要

  1. #include <zircon/syscalls.h>
  2. zx_status_t zx_handle_replace(zx_handle_t handle, zx_rights_t rights, zx_handle_t* out);

描述

handle_replace()handle创建一个引用了相同底层对象,并且具有新的访问权限rights的替换。

替换之后,handle将作废掉。

如果rightsZX_RIGHT_SAME_RIGHTS权限,则替换句柄将具有与原始句柄相同的权限。否则,rights必须是原始句柄权限的子集。

权限

无需任何权限。

返回值

handle_replace() 成功则返回ZX_OK,以及(通过*out传递)替换后的句柄。

错误码

ZX_ERR_BAD_HANDLEhandle是无效句柄。

ZX_ERR_INVALID_ARGSrights请求不是handle权限的子集,或者out是无效指针。

ZX_ERR_NO_MEMORY:由于内存不足导致的失败。而用户空间无法处理这个(不太可能发生的)错误。在将来的构建版本中,将不再出现此错误。

另见

handle_closehandle_close_manyhandle_duplicate