函数
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-
类型:
GInputStreamA
GInputStream。数据由函数的调用者拥有。 buffer-
类型: 一个
guint8数组一个用于读取数据的缓冲区。
数组的长度在 count参数中指定。数据由函数的调用者拥有。 count-
类型:
gsize要读取的字节数。
blocking-
类型:
gboolean是否进行阻塞I/O。
cancellable-
类型:
GCancellable可选的
GCancellable对象,NULL为忽略。参数可以为 NULL。数据由函数的调用者拥有。 error-
类型:
GError **可恢复错误的返回位置。
参数可以为 NULL。如果返回位置不为 NULL,则必须将其初始化为NULLGError*。如果没有错误,函数将保留参数初始化为 NULL。如果发生错误,则参数将被设置为一个新的 GError;调用者将拥有数据,并负责释放它。