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);

說明

系統會從關聯的 blob 中,為指定的 blob 分配新 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_DENIED IOB 帳號代碼沒有寫入權限, 或是對應的區域沒有中介寫入權限

ZX_ERR_NO_MEMORY ID 分配器區域的記憶體不足 以便分配新 ID請注意,這與 系統記憶體

ZX_ERR_IO_DATA_INTEGRITYID 分配器區域已毀損。