IDestinationStreamFactory interface (shobjidl_core.h)

Exposes a method for manually copying a stream or file before applying changes to properties.

Inheritance

The IDestinationStreamFactory interface inherits from the IUnknown interface. IDestinationStreamFactory also has these types of members:

Methods

The IDestinationStreamFactory interface has these methods.

 
IDestinationStreamFactory::GetDestinationStream

Gets an empty stream that receives the new version of the file being copied.

Remarks

The default copy-on-write behavior provided by IPropertyStore causes the entire source stream to be duplicated during a write operation. This can be costly for large streams, especially when a large portion of the stream is to be changed. IDestinationStreamFactory provides an alternative for the property handler author, who can use it manually to ensure that property changes do not corrupt the stream in case of failure. To do this, the author marks the handler as NoTransactedMode in the handler's CoClass registry key, and queries the stream for this interface.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)

See also

Initializing Property Handlers