Read the state of a VCPU.


#include <zircon/syscalls.h>

zx_status_t zx_vcpu_read_state(zx_handle_t handle,
                               uint32_t kind,
                               void* buffer,
                               size_t buffer_size);


zx_vcpu_read_state() reads the state of handle as specified by kind into buffer. It is only valid to read the state of handle when execution has been paused.

kind must be ZX_VCPU_STATE.

zx_vcpu_read_state() must be called on the same thread handle was created on.


handle must be of type ZX_OBJ_TYPE_VCPU and have ZX_RIGHT_READ.

Return value

zx_vcpu_read_state() returns ZX_OK on success. On failure, an error value is returned.


ZX_ERR_ACCESS_DENIED handle does not have the ZX_RIGHT_READ right.

ZX_ERR_BAD_HANDLE handle is an invalid handle.

ZX_ERR_BAD_STATE handle is in a bad state, and state can not be read.

ZX_ERR_INVALID_ARGS kind does not name a known VCPU state, buffer is an invalid pointer, or buffer_size does not match the expected size of kind.

ZX_ERR_WRONG_TYPE handle is not a handle to a VCPU.

See also