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