This interface derives from the IFileSinkFilter interface and replaces it. Like IFileSinkFilter, filters that write media streams to a file implement this interface. A file sink filter in a video capture filter graph, for instance, saves the output of the video compression filter to a file. Typically, the application running this filter graph should allow the user to enter the name of the file to which to save the data. This interface enables you to communicate this information. IFileSinkFilter2 adds the option to determine whether the file it writes should destroy an existing file of the same name. In the video capture case, do not destroy a file you've already created, because preallocating file space takes valuable time. By default, the new file does not destroy the old one. Otherwise, destroy the original file to make sure the file you author doesn't contain garbage.
A filter should implement this interface when it needs the name of an output file or needs to set options for that file. Note that there is currently no base class implementation of this interface.
When an application must set the name of the file into which the file sink filter will write, it should use this interface to get and set the file name or change options.
In addition to the methods inherited from IFileSinkFilter, the IFileSinkFilter2 interface exposes the following methods.
Determines whether the file writer destroys the file when it creates the new one.
Retrieves whether the file writer destroys the file when it creates the new one.