zx_thread_write_state


英文原文快照


名称

thread_write_state —— 写入线程状态的一个方面的值

概要

  1. #include <zircon/syscalls.h>
  2. #include <zircon/syscalls/debug.h>
  3. zx_status_t zx_thread_write_state(
  4. zx_handle_t handle,
  5. uint32_t kind,
  6. const void* buffer,
  7. size_t len);

描述

thread_write_state() 写入线程状态的一个方面的值。 但只有当线程因异常而暂停或被挂起时,才能写入线程的状态。

线程的状态是高度特定于处理器的。 关于每个处理器平台上结构的内容,请参阅zircon/syscalls/debug.h中的结构。

状态值

有关可用的线程状态及其对应值的列表,请参见thread_read_state

权限

TODO(ZX-2399)

返回值

thread_write_state() 调用成功则返回ZX_OK。 如果调用失败,则返回负的错误码。

错误码

ZX_ERR_BAD_HANDLEhandle是无效句柄。

ZX_ERR_WRONG_TYPEhandle不是线程类型的句柄。

ZX_ERR_ACCESS_DENIEDhandle缺少ZX_RIGHT_WRITE权限。

ZX_ERR_INVALID_ARGSkind的值无效,或buffer是无效指针;或者lenkind结构所期望的大小不匹配。

ZX_ERR_NO_MEMORY:由于内存不足导致的失败。而用户空间无法处理这个(不太可能发生的)错误。在将来的构建版本中,将不再出现此错误。

ZX_ERR_BAD_STATE:线程未在状态可用的位置停止。 只有当线程因异常而暂停时才能读取线程的状态。

ZX_ERR_NOT_SUPPORTEDkind的值不受支持。 例如,当尝试读取不受当前正在运行的硬件所支持的寄存器集时,可能会发生这种错误。

另见

thread_read_state.