zx_thread_write_state
名称
thread_write_state —— 写入线程状态的一个方面的值
概要
#include <zircon/syscalls.h>
#include <zircon/syscalls/debug.h>
zx_status_t zx_thread_write_state(
zx_handle_t handle,
uint32_t kind,
const void* buffer,
size_t len);
描述
thread_write_state() 写入线程状态的一个方面的值。 但只有当线程因异常而暂停或被挂起时,才能写入线程的状态。
线程的状态是高度特定于处理器的。
关于每个处理器平台上结构的内容,请参阅zircon/syscalls/debug.h
中的结构。
状态值
有关可用的线程状态及其对应值的列表,请参见thread_read_state。
权限
TODO(ZX-2399)
返回值
thread_write_state() 调用成功则返回ZX_OK。 如果调用失败,则返回负的错误码。
错误码
ZX_ERR_BAD_HANDLE:handle是无效句柄。
ZX_ERR_WRONG_TYPE:handle不是线程类型的句柄。
ZX_ERR_ACCESS_DENIED:handle缺少ZX_RIGHT_WRITE权限。
ZX_ERR_INVALID_ARGS:kind的值无效,或buffer是无效指针;或者len与kind结构所期望的大小不匹配。
ZX_ERR_NO_MEMORY:由于内存不足导致的失败。而用户空间无法处理这个(不太可能发生的)错误。在将来的构建版本中,将不再出现此错误。
ZX_ERR_BAD_STATE:线程未在状态可用的位置停止。 只有当线程因异常而暂停时才能读取线程的状态。
ZX_ERR_NOT_SUPPORTED:kind的值不受支持。 例如,当尝试读取不受当前正在运行的硬件所支持的寄存器集时,可能会发生这种错误。