函数
Giopollable_stream_read
自:2.34
声明 [src]
gssize
g_pollable_stream_read (
GInputStream* stream,
void* buffer,
gsize count,
gboolean blocking,
GCancellable* cancellable,
GError** error
)
描述 [src]
尝试从stream
读取,类似于用g_input_stream_read()
(如果blocking
为TRUE
)或g_pollable_input_stream_read_nonblocking()
(如果blocking
为FALSE
)。这可以更容易地在阻塞和非阻塞实现的代码之间共享。
如果blocking
为FALSE
,则stream
必须是一个对于g_pollable_input_stream_can_poll()
返回TRUE
的GPollableInputStream
,否则行为未定义。如果blocking
为TRUE
,则stream
不需要是GPollableInputStream
。
自:2.34
参数
stream
-
类型:
GInputStream
A
GInputStream
。数据由函数的调用者拥有。 buffer
-
类型: 一个
guint8
数组一个用于读取数据的缓冲区。
数组的长度在 count
参数中指定。数据由函数的调用者拥有。 count
-
类型:
gsize
要读取的字节数。
blocking
-
类型:
gboolean
是否进行阻塞I/O。
cancellable
-
类型:
GCancellable
可选的
GCancellable
对象,NULL
为忽略。参数可以为 NULL
。数据由函数的调用者拥有。 error
-
类型:
GError **
可恢复错误的返回位置。
参数可以为 NULL
。如果返回位置不为 NULL
,则必须将其初始化为NULL
GError*
。如果没有错误,函数将保留参数初始化为 NULL
。如果发生错误,则参数将被设置为一个新的 GError
;调用者将拥有数据,并负责释放它。