方法

GioOutputStreamwrite_bytes_async

声明 [src]

void
g_output_stream_write_bytes_async (
  GOutputStream* stream,
  GBytes* bytes,
  int io_priority,
  GCancellable* cancellable,
  GAsyncReadyCallback callback,
  gpointer user_data
)

描述 [src]

此函数与g_output_stream_write_async()类似,但接受GBytes作为输入。由于GBytes的引用计数的本质,这允许流避免复制数据。

但是请注意,这个函数可能仍然会执行部分写入,就像g_output_stream_write_async()一样。如果发生这种情况,为了继续写入,您将需要创建一个新的GBytes,其中只包含剩余的字节,使用g_bytes_new_from_bytes()。多次传递相同的GBytes实例可能会在输出流中导致重复数据。

有关此函数的同步阻塞版本,请参阅g_output_stream_write_bytes()。

此方法以异步方式完成。在GAsyncReadyCallback中使用g_output_stream_write_bytes_finish来获取操作的结果。

参数

bytes

类型: GBytes

要写入的字节。

数据由方法调用者所有。
io_priority

类型: int

请求的io优先级。

cancellable

类型: GCancellable

可选的 GCancellable 对象,NULL 表示忽略。

参数可以是 NULL
数据由方法调用者所有。
回调

类型: GAsyncReadyCallback

当请求满足时调用 GAsyncReadyCallback

参数可以是 NULL
用户数据

类型: gpointer

传递给回调函数的数据。

参数可以是 NULL
数据由方法调用者所有。