摘要
建立新的時鐘物件。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_clock_create(uint64_t options,
const void* args,
zx_handle_t* out);
權限
無。
說明
建立新的 Zircon 時鐘物件。查看時鐘 時鐘物件的總覽
選項
針對時鐘物件定義下列選項:
ZX_CLOCK_OPT_MONOTONIC
:設定後,會建立該物件的時鐘物件 保證絕不會向後執行單調時鐘必須始終向前移動。ZX_CLOCK_OPT_CONTINUOUS
:設定完成後,會建立保證時間會保證的時鐘 一律不向前或向後跳轉。您只能上傳持續的時鐘。 定義方式同樣是單調 嘗試使用ZX_CLOCK_OPT_CONTINUOUS
選項建立時鐘物件 但如果沒有指定ZX_CLOCK_OPT_MONOTONIC
選項,則會是 錯誤,系統會透過ZX_ERR_INVALID_ARGS
發出信號。ZX_CLOCK_OPT_AUTO_START
:設定後會建立啟動的時鐘 不必手動更新您不需要呼叫 zx_clock_update() 跟時鐘一樣初期,時鐘是一連串的時鐘, 也就是從時鐘單調到 建立的綜合時鐘即為身分識別函式建立的時鐘沒有 必須是使用ZX_CLOCK_OPT_MONOTONIC
或 不過,已設定ZX_CLOCK_OPT_CONTINUOUS
標記。建立完成後 更新單調和連續模式所定義的限制 建立時間指定的屬性、帳號代碼權限以及倒數時間 正如時鐘的部分
引數
設定時鐘時,可以指定另一個建立時間引數,也就是倒數 讓應用程式從可以最快做出回應的位置 回應使用者要求請查看「時鐘」以瞭解有關返回停止時間的詳細資訊。
如要設定輪詢時間,使用者必須將 zx_clock_create_args_v1_t
結構傳遞至
透過 args
參數建立 zx_clock_create
呼叫。此外,options
位元必須
其中已設定 ZX_CLOCK_ARGS_VERSION(1)
。
例如,如果使用者想要建立倒數為 5500 的單調時鐘,則可能會 如下所示。
#include <zircon/syscalls.h>
#include <zircon/syscalls/clock.h>
zx_handle_t MakeAClock() {
zx_clock_create_args_v1_t args;
zx_handle_t the_clock;
zx_status_t status;
args.backstop_time = 5500;
status = zx_clock_create(ZX_CLOCK_ARGS_VERSION(1) | ZX_CLOCK_OPT_MONOTONIC, &args, &the_clock);
if (status != ZX_OK) {
// Log the error
return ZX_HANDLE_INVALID;
}
return the_clock;
}
使用者無需提供引數結構。如果不需要明確的返回停止作業,使用者 可以在 options 參數中省略版本位元,只為 args 傳遞 nullptr。
傳回值
成功時,透過傳出時,會傳回 ZX_OK
以及新的時鐘物件
控制代碼。新建時鐘物件的處理常式會包含 ZX_RIGHT_READ
、
已指派ZX_RIGHT_WRITE
和ZX_RIGHT_SIGNAL
的權利。
錯誤
ZX_ERR_INVALID_ARGS
:指定的選項旗標無效,有錯誤的引數 已傳遞結構版本或指標,ZX_CLOCK_OPT_CONTINUOUS
之前為 也未指定ZX_CLOCK_OPT_MONOTONIC
,或初始值 目前自動啟動時鐘的倒數時間晚於目前時鐘 單調時間。ZX_ERR_NO_MEMORY
因記憶體不足而失敗。