摘要
將排程設定檔套用至執行緒。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_object_set_profile(zx_handle_t handle,
zx_handle_t profile,
uint32_t options);
說明
zx_object_set_profile() 會將設定檔套用至 target 指定的物件。
參數 profile 是使用 zx_profile_create() 建立的 profile 物件的控點。
目前系統會忽略 options,呼叫者應將其設為 0。
目前支援的目標物件類型只有 thread 和 vmar。日後可能會支援其他物件類型。
權限
handle 必須是 ZX_OBJ_TYPE_THREAD 型別,且具有 ZX_RIGHT_MANAGE_THREAD。
設定檔必須為 ZX_OBJ_TYPE_PROFILE 類型,且具有 ZX_RIGHT_APPLY_PROFILE。
傳回值
成功時會傳回 ZX_OK。如果失敗,系統會傳回負數錯誤值。
錯誤
ZX_ERR_BAD_HANDLE target 不是有效的控制代碼。
ZX_ERR_WRONG_TYPE target 不是執行緒或 vmar 控制代碼。
ZX_ERR_ACCESS_DENIED target 沒有 ZX_RIGHT_MANAGE_THREAD 權限。
ZX_ERR_BAD_STATE 如果 target 是仍在建立、即將終止或已終止的執行緒,且無法套用設定檔,或是 target 是 VMAR,且設定檔包含無效的優先順序。