函数
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,则必须将其初始化为NULLGError*。如果没有任何错误,该参数将由函数初始化并保持为 NULL。如果发生错误,该参数将被设置为一个新分配的 GError;调用者将对数据拥有所有权,并负责释放数据。