方法

GioInputStreamclose

声明 [源]

gboolean
g_input_stream_close (
  GInputStream* stream,
  GCancellable* cancellable,
  GError** error
)

描述 [源]

关闭流,释放与此相关的资源。

一次关闭流后,所有其他操作将返回 G_IO_ERROR_CLOSED。多次关闭流不会返回错误。

当最后一个引用被释放时,流将自动关闭,但你可能会调用此函数以确保尽早释放资源。

一些流在流关闭后可能还会保持流的存储(例如,文件描述符)打开。有关详细信息,请参阅单个流的文档。

在失败的情况下,将报告首次发生错误,但关闭操作将尽可能完成。未能关闭的流对于所有操作仍然会返回 G_IO_ERROR_CLOSED。然而,检查和向用户报告错误仍然很重要。

如果 cancellable 不是 NULL,则可以从另一个线程触发可取消对象来取消操作。如果操作被取消,将返回错误 G_IO_ERROR_CANCELLED。取消关闭仍将使流保持关闭,但一些流可以使用不阻塞的更快关闭,例如检查错误。

参数

cancellable

类型: GCancellable

有关联的 GCancellable 对象,NULL 以忽略。

参数可以是 NULL
数据由方法的调用者拥有。
error

类型: GError **

一个可恢复错误的返程位置。

参数可以是 NULL
如果返程位置不是 NULL,那么你必须将它初始化为 NULL GError*
如果没有错误,方法将通过将参数保留初始化到 NULL 来初始化它。
发生错误时,将设置参数为新分配的 GError;调用者将负责拥有数据,并负责释放它。

返回值

类型: gboolean

成功时返回 TRUE,失败时返回 FALSE