TIFFClose() closes a file that was previously opened with TIFFOpen(). Any buffered data are flushed to
the file, including the contents of the current directory (if modified); and all resources are reclaimed.
TIFFClose() calls TIFFCleanup() and then the associated function to close the file handle.
TIFFCleanup() is an auxiliary function to free the TIFF structure. The given structure will be
completely freed, so you should save opened file handle and pointer to the close procedure in external
variables before calling TIFFCleanup(), if you will need these ones to close the file. TIFFCleanup()
calls TIFFFlush(), which stores all pending data in the file.
NOTE:
Both functions have no return value. If you want to check whether the data has been successfully
written to the file, you can call TIFFFlush(), which has a return value, before TIFFClose().