摘要
读出可用的示例。
声明
#include <zircon/syscalls.h>
zx_status_t zx_sampler_read(zx_handle_t sampler,
void* data,
size_t data_size,
size_t* actual);
说明
读取最近一次采样会话期间写入的数据。所提供的缓冲区必须足够大,才能读取所有可用数据。可以通过调用 data 并将 data 设置为 nullptr 来查询此大小。所需的最小尺寸将写入实际尺寸。
如果读取成功,则返回 ZX_OK 并将 actual 设置为实际读取的字节数。
此外,如果返回代码为 ZX_ERR,可能仍发生了部分读取,写入 data 的字节数将返回到 actual 中。
错误
ZX_ERR_NOT_SUPPORTED 内核命令行中未将 kernel.enable-debugging-syscalls 设置为 true,或者 experimental_thread_sampler_enabled build 参数未设置为 true。
ZX_ERR_PERMISION_DENIED sampler 不是由 zx_sampler_create 返回的采样器。
ZX_ERR_BAD_STATE 采样器目前处于活跃状态