zx-handle_duplicate

摘要

複製帳號代碼。

宣告

#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 因記憶體不足而失敗。 使用者空間無法妥善處理這種 (異常) 錯誤。 在日後的版本中不會再發生這個錯誤。

另請參閱