总结
写入 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()
会从缓冲区中写入 handle 的状态(由 Kind 指定)。只有在执行已暂停时写入 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
handle 不是 vCPU 的句柄。
另请参阅
zx_guest_create()
zx_guest_set_trap()
zx_vcpu_create()
zx_vcpu_enter()
zx_vcpu_interrupt()
zx_vcpu_kick()
zx_vcpu_read_state()