摘要
對 IOBuffer 區域執行中介寫入作業。
宣告
#include <zircon/syscalls/iob.h>
zx_status_t zx_iob_write(zx_handle_t handle,
zx_iob_write_options_t options,
uint32_t region_index,
const zx_iovec_t* vectors,
size_t num_vectors);
說明
對 IOBuffer 區域執行中介寫入作業。
options
必須為零。
用於與區域互動的 IOBuffer 句柄必須接受經過調節的寫入權限。
包括任何專業領域可能規定的標頭,其上限為 65535 個位元組,且向量不得超過 8 個。
傳回值
成功時,系統會根據領域的語意,將資料寫入指定的區域。
錯誤
ZX_ERR_ACCESS_DENIED
IOB 句柄沒有寫入權限,或對應區域沒有經過調解的寫入權限。
ZX_ERR_BAD_HANDLE
handle 不是有效的 handle。
ZX_ERR_INVALID_ARGS
options
非零值 (目前不支援非預設選項)、寫入的資料量超出限制,或是向量無效。
ZX_ERR_IO_DATA_INTEGRITY
區域已毀損。
ZX_ERR_NOT_FOUND
向量無效 (例如指向無效的記憶體)。
ZX_ERR_NO_SPACE
區域的空間不足,無法寫入訊息。
ZX_ERR_OUT_OF_RANGE
region_index
超出區域索引上限。
ZX_ERR_WRONG_TYPE
句柄不是 IOBuffer 句柄,或對應的區域並非所需規範。