ZX_Clock_create

摘要

建立新的時鐘物件。

宣告

#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_WRITEZX_RIGHT_SIGNAL的權利。

錯誤

  • ZX_ERR_INVALID_ARGS:指定的選項旗標無效,有錯誤的引數 已傳遞結構版本或指標,ZX_CLOCK_OPT_CONTINUOUS 之前為 也未指定 ZX_CLOCK_OPT_MONOTONIC,或初始值 目前自動啟動時鐘的倒數時間晚於目前時鐘 單調時間。
  • ZX_ERR_NO_MEMORY 因記憶體不足而失敗。

另請參閱