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() 會在成功時透過 out 傳回 ZX_OK 和重複的帳號代碼。

錯誤

ZX_ERR_BAD_HANDLE」的帳號代碼無效。

ZX_ERR_INVALID_ARGS 要求的權利並非「帳號代碼」權利子集,或「out」為無效指標。

ZX_ERR_ACCESS_DENIED 帳號代碼沒有 ZX_RIGHT_DUPLICATE,因此無法重複。

ZX_ERR_NO_MEMORY 因記憶體不足而失敗。使用者空間無法以任何方式處理這個錯誤 (極可能) 錯誤。日後的建構作業不會再發生這個錯誤。

另請參閱