摘要
從學區 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);
說明
系統會從關聯的 blob 中,為指定的 blob 分配新 ID
備份 IOBuffer 區域的
ZX_IOB_DISCIPLINE_TYPE_ID_ALLOCATOR
,
用於與區域互動的 IOBuffer 控點必須允許中介服務 寫入權限。
傳回值
成功時,zx_iob_allocate_id()
會傳回 ZX_OK
並填入 id
與分配的 ID 對應
錯誤
有 ZX_ERR_OUT_OF_RANGE
個region_index
超出區域數量上限
索引。
ZX_ERR_WRONG_TYPE
對應的區域不是
ZX_IOB_DISCIPLINE_TYPE_ID_ALLOCATOR
的紀律。
ZX_ERR_INVALID_ARGS
options
為非零 (沒有非預設值)
選項)。
ZX_ERR_ACCESS_DENIED
IOB 帳號代碼沒有寫入權限,
或是對應的區域沒有中介寫入權限
ZX_ERR_NO_MEMORY
ID 分配器區域的記憶體不足
以便分配新 ID請注意,這與
系統記憶體
ZX_ERR_IO_DATA_INTEGRITY
ID 分配器區域已毀損。