摘要
提供具有子項物件的核心物件,請取得所提供核心物件 ID 所指定子項的控制代碼。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_object_get_child(zx_handle_t handle,
uint64_t koid,
zx_rights_t rights,
zx_handle_t* out);
說明
zx_object_get_child()
會嘗試找出參照物件的子項
handle,其核心物件 ID 由 koid 指定。如果
物件存在,且要求的 rights 不大於所提供的值
由父項的處理常式處理,為指定子項物件的新控制代碼是
。
rights 可能是 ZX_RIGHT_SAME_RIGHTS
,這也等同於擁有同等權利
帳號代碼上的那些功能。
如果物件是程序,可以取得物件所含的執行緒, 呼叫。
如果物件是 Job,其 (立即) 子項 Jobs 和 Processes 該內容可透過此呼叫取得。
權限
handle 必須包含 ZX_RIGHT_ENUMERATE
。
傳回值
成功後,系統會傳回 ZX_OK
,並透過「傳出」傳回所需子項物件的控制代碼。
錯誤
ZX_ERR_BAD_HANDLE
帳號代碼不是有效的帳號代碼。
ZX_ERR_WRONG_TYPE
「處理常式」不是 Process、Job 或 Resource。
ZX_ERR_ACCESS_DENIED
帳號代碼缺少正確的 ZX_RIGHT_ENUMERATE
或 rights 屬性
處理常式中則沒有的權利。
ZX_ERR_NOT_FOUND
處理常式沒有核心物件 ID koid 的子項。
ZX_ERR_NO_MEMORY
因記憶體不足而失敗。
使用者空間無法妥善處理這種 (異常) 錯誤。
在日後的版本中不會再發生這個錯誤。
ZX_ERR_INVALID_ARGS
「out」是無效的指標。