总结
请更换手柄。
声明
#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
,则替换标识名将拥有与原始标识名相同的权限。否则,权利必须是原始标识名权利的子集。
权限
无。
返回值
zx_handle_replace()
会在成功时返回 ZX_OK
和替换句柄(通过 out)。
错误
ZX_ERR_BAD_HANDLE
句柄不是有效的句柄。
ZX_ERR_INVALID_ARGS
请求的权利不是句柄的权限的子集,或者 out 是无效的指针。
ZX_ERR_NO_MEMORY
由于内存不足而失败。
用户空间没有什么方法来处理此(不太可能)错误。在以后的 build 中,此错误不会再发生。