函数
Giopollable_stream_write
自:2.34
声明 [源]
gssize
g_pollable_stream_write (
GOutputStream* stream,
void* buffer,
gsize count,
gboolean blocking,
GCancellable* cancellable,
GError** error
)
描述 [源]
尝试写入 stream(与 g_output_stream_write() 类似,如果 blocking 为 TRUE)或 g_pollable_output_stream_write_nonblocking()(如果 blocking 为 FALSE)。这可以用于在不同方法阻塞和非阻塞实现之间更轻松地共享代码。
如果 blocking 为 FALSE,则 stream 必须是 GPollableOutputStream,对于该 stream,g_pollable_output_stream_can_poll() 返回 TRUE,否则行为是未定义的。如果 blocking 为 TRUE,则 stream 不必须是 GPollableOutputStream。
自 2.34 起可用
参数
stream
-
类型:
GOutputStream
一个
GOutputStream
。数据由函数的调用者所有。 buffer
-
类型:一个包含
guint8
的数组包含要写入的数据的缓冲区。
数组的长度在 count 参数中指定。 数据由函数的调用者所有。 count
-
类型:
gsize
要写入的字节数。
blocking
-
类型:
gboolean
是否执行阻塞 I/O。
cancellable
-
类型:
GCancellable
可选的
GCancellable
对象,NULL
表示忽略。该参数可以是 NULL
。数据由函数的调用者所有。 error
-
类型:
GError **
一个可恢复错误的返回位置。
该参数可以是 NULL
。如果返回位置不是 NULL
,则必须将其初始化为NULL
GError*
。如果没有错误,则函数会将该参数保留为 NULL
。在发生错误的情况下,该参数将设置为一个新的分配的 GError
;调用者将拥有数据,并负责释放它。