摘要
寫入 vCPU 的狀態。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_vcpu_write_state(zx_handle_t handle,
uint32_t kind,
const void* buffer,
size_t buffer_size);
說明
zx_vcpu_write_state()
會根據 Kind 指定,寫入帳號代碼的狀態。
buffer。只有在執行作業出現下列情況時,寫入 handle 的狀態才有效
已暫停。
種類可以是 ZX_VCPU_STATE
或 ZX_VCPU_IO
。
必須在同一個執行緒處理常式上呼叫 zx_vcpu_write_state()
保持開啟。
權限
handle 必須是 ZX_OBJ_TYPE_VCPU
類型,且包含 ZX_RIGHT_WRITE
。
傳回值
zx_vcpu_write_state()
會在成功時傳回 ZX_OK
。失敗時,顯示錯誤值
。
錯誤
ZX_ERR_ACCESS_DENIED
帳號代碼沒有 ZX_RIGHT_WRITE
的權利。
ZX_ERR_BAD_HANDLE
帳號代碼是無效的帳號代碼。
ZX_ERR_BAD_STATE
帳號代碼處於不良狀態,因此無法寫入狀態。
ZX_ERR_INVALID_ARGS
Kind 未命名為已知的 vCPU 狀態,buffer 為
指標無效,或是 buffer_size 與 Kind 不符的預期大小。
ZX_ERR_WRONG_TYPE
處理常式不是 vCPU 的控制代碼。
另請參閱
zx_guest_create()
zx_guest_set_trap()
zx_vcpu_create()
zx_vcpu_enter()
zx_vcpu_interrupt()
zx_vcpu_kick()
zx_vcpu_read_state()