方法
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
;调用者将负责拥有数据,并负责释放它。