zx_job_create

摘要

建立新工作。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_job_create(zx_handle_t parent_job,
                          uint32_t options,
                          zx_handle_t* out);

說明

zx_job_create() 會根據父項工作建立新的子項工作物件

成功時,會傳回新工作的控制代碼。

核心會追蹤並限制工作的「高度」,也就是與根工作之間的距離。以父項高度超過內部「最大高度」值的父項建立工作是違法行為。(不過,透過這類工作建立程序是合法的)。

可能會等待的工作控點 (TODO(cpu):請展開)

權限

parent_job 必須為 ZX_OBJ_TYPE_JOB 類型且內含 ZX_RIGHT_MANAGE_JOB

傳回值

zx_job_create() 會在成功時傳回 ZX_OK 和新工作的控制代碼 (透過「出」)。如果失敗,會傳回負值錯誤值。

錯誤

ZX_ERR_BAD_HANDLE parent_job 不是有效的控制代碼。

ZX_ERR_WRONG_TYPE parent_job 不是工作帳號代碼。

ZX_ERR_INVALID_ARGS options 非零,或 out 為無效指標。

ZX_ERR_ACCESS_DENIED parent_job 沒有 ZX_RIGHT_WRITEZX_RIGHT_MANAGE_JOB 權限。

ZX_ERR_OUT_OF_RANGE parent_job 的高度過大,無法建立子工作。

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

ZX_ERR_BAD_STATE:父項工作物件處於無效狀態。

另請參閱