摘要
更换标识名。
声明
#include <zircon/syscalls.h>
zx_status_t zx_handle_replace(zx_handle_t handle,
zx_rights_t rights,
zx_handle_t* out);
说明
zx_handle_replace()
会创建 handle 的替换,引用
相同的底层对象,但拥有新的访问权限。
handle 始终无效。
如果 rights 为 ZX_RIGHT_SAME_RIGHTS
,替换句柄将
拥有与原始标识名相同的权限。否则,rights 必须
原始标识名的一部分权利。
权限
无。
返回值
zx_handle_replace()
会返回 ZX_OK
和替换句柄(通过 out)
。
错误
ZX_ERR_BAD_HANDLE
handle 不是有效的句柄。
ZX_ERR_INVALID_ARGS
所请求的权利不是以下项的子集:
handle 的权利或 out 是无效的指针。
ZX_ERR_NO_MEMORY
因内存不足而失败。
用户空间没有好办法处理这种(不太可能)错误。
在将来的版本中,此错误不会再发生。