摘要
將排程設定檔套用至執行緒。
宣告
#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()
會將設定檔套用至目標指定物件。
profile 參數是對使用 zx_profile_create()
建立的設定檔物件的控制代碼。
options 目前遭到忽略,並應由呼叫端設為 0
。
目前,系統只支援 thread 和 vmar 這兩種 target 物件類型,日後可能會支援其他物件類型。
權限
handle 必須是 ZX_OBJ_TYPE_THREAD
類型,且具有 ZX_RIGHT_MANAGE_THREAD
。
profile 類型必須是 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
目標沒有正確 ZX_RIGHT_MANAGE_THREAD
。
ZX_ERR_BAD_STATE
當「目標」是仍在建立中、正在淘汰或已失效的執行緒,且不能套用「設定檔」,或者「目標」為 VMAR,且「設定檔」包含無效優先順序時。