函数
Giopollable_stream_write_all
自:2.34
声明 [src]
gboolean
g_pollable_stream_write_all (
GOutputStream* stream,
void* buffer,
gsize count,
gboolean blocking,
gsize* bytes_written,
GCancellable* cancellable,
GError** error
)
说明 [src]
用 g_output_stream_write_all()
的方式,尝试把 count
字节写到 stream
,但使用 g_pollable_stream_write()
而非 g_output_stream_write()。
成功写入 count
字节时,返回 TRUE
,并将 bytes_written
设置为 count
。
如果操作中出错(包括非阻塞情况下的 G_IO_ERROR_WOULD_BLOCK
),则返回 FALSE
并设置 error
来指示错误状态,更新 bytes_written
以包含在错误发生之前写入流的字节数。
与 g_pollable_stream_write() 一样,如果 blocking
为 FALSE
,则 stream
必须是一个 GPollableOutputStream
,且 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。
bytes_written
-
类型:
gsize*
用于存储已写入
stream
的字节数的位置。该参数将由函数设置。 cancellable
-
类型:
GCancellable
可选的
GCancellable
对象,NULL
表示忽略。该参数可以为 NULL
。数据由函数调用者所有。 error
-
类型:
GError **
可恢复错误 的返回位置。
该参数可以为 NULL
。如果返回位置不是 NULL
,则必须将其初始化为NULL
GError*
。如果没有任何错误,该参数将由函数初始化并保持为 NULL
。如果发生错误,该参数将被设置为一个新分配的 GError
;调用者将对数据拥有所有权,并负责释放数据。