zx_iob_allocate_id

摘要

从规则的 IOBuffer 区域分配一个 ID ZX_IOB_DISCIPLINE_TYPE_ID_ALLOCATOR

声明

#include <zircon/syscalls-next.h>

zx_status_t zx_iob_allocate_id(zx_handle_t handle,
                               zx_iob_allocate_id_options_t options,
                               uint32_t region_index,
                               const void* blob,
                               uint64_t blob_size,
                               uint32_t* id);

说明

系统会为从关联的 为规则的 IOBuffer 区域提供支持的容器 ZX_IOB_DISCIPLINE_TYPE_ID_ALLOCATOR,

用于与区域交互的 IOBuffer 句柄必须允许执行中介操作 写入权限。

返回值

成功后,zx_iob_allocate_id() 会返回 ZX_OK 并填充 id 替换为所分配的 ID。

错误

ZX_ERR_OUT_OF_RANGEregion_index超出了区域上限 索引中。

ZX_ERR_WRONG_TYPE 相应区域不属于 ZX_IOB_DISCIPLINE_TYPE_ID_ALLOCATOR学科。

ZX_ERR_INVALID_ARGS options 为非零值(没有非默认值) 选项)。

ZX_ERR_ACCESS_DENIEDIOB 句柄没有写入权限。 或者相应区域没有参与中介的写入权限。

ZX_ERR_NO_MEMORY ID 分配器区域的内存不足 要分配新 ID 的对象。请注意,这与 系统内存。

ZX_ERR_IO_DATA_INTEGRITY ID 分配器区域已损坏。