摘要
複製帳號代碼。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_handle_duplicate(zx_handle_t handle,
zx_rights_t rights,
zx_handle_t* out);
說明
zx_handle_duplicate()
會建立帳號代碼的副本,也就是參照代碼
使用相同的基礎物件,並具備新的存取權限權限。
如要複製相同權利的帳號代碼,請使用 ZX_RIGHT_SAME_RIGHTS
。如果不同
所需權利必須嚴格小於來源帳號代碼。有可能
不使用 ZX_RIGHT_NONE
指定任何權利。適時移除ZX_RIGHT_DUPLICATE
透過管道轉移,請使用 zx_channel_write_etc()
。
權限
handle 必須包含 ZX_RIGHT_DUPLICATE
。
傳回值
zx_handle_duplicate()
會在成功時透過「傳出」傳回 ZX_OK
和重複的帳號代碼。
錯誤
ZX_ERR_BAD_HANDLE
帳號代碼不是有效的帳號代碼。
ZX_ERR_INVALID_ARGS
所要求的權利並非帳號代碼權利的一部分,或
out 是無效的指標。
ZX_ERR_ACCESS_DENIED
帳號代碼沒有 ZX_RIGHT_DUPLICATE
,且無法複製。
ZX_ERR_NO_MEMORY
因記憶體不足而失敗。
使用者空間無法妥善處理這種 (異常) 錯誤。
在日後的版本中不會再發生這個錯誤。