方法

GioInputStreamread_bytes_async

自:2.34

声明 [源代码]

void
g_input_stream_read_bytes_async (
  GInputStream* stream,
  gsize count,
  int io_priority,
  GCancellable* cancellable,
  GAsyncReadyCallback callback,
  gpointer user_data
)

描述 [源代码]

请求从流中异步读取 count 字节到一个新的 GBytes。当操作完成时,将调用 callback。之后,您可以调用 g_input_stream_read_bytes_finish() 来获取操作的结果。

在异步请求过程中,不允许在 stream 上进行其他同步和异步调用,并将导致 G_IO_ERROR_PENDING 错误。

count 的值大于 G_MAXSSIZE 将导致 G_IO_ERROR_INVALID_ARGUMENT 错误。

成功时,新的 GBytes 将传递给回调。如果这个值小于请求的大小,则不是错误,因为例如在文件末尾附近可能会发生这种情况,但我们通常尝试读取尽可能多的字节。在文件末尾(或如果 count 为零)时返回零,但决不返回其他值。

具有更高优先级(数值更小)的任何未完成的 I/O 请求将在具有较低优先级(数值更大)的未完成请求之前执行。默认优先级是 G_PRIORITY_DEFAULT

自:2.34

此方法异步完成。在 GAsyncReadyCallback 内使用 g_input_stream_read_bytes_finish() 来获取操作的结果。

参数

count

类型: gsize

将从流中读取的字节数。

io_priority

类型: int

请求的 I/O 优先级

cancellable

类型: GCancellable

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

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

类型: GAsyncReadyCallback

当请求满足时调用的 GAsyncReadyCallback

此参数可以是 NULL
user_data

类型: gpointer

传递给回调函数的数据。

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