方法
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
。参数可以是 NULL
。 用户数据
-
类型:
gpointer
传递给回调函数的数据。
参数可以是 NULL
。数据由方法调用者所有。